Memória usada por programas
Olá amigos,
Conversando com um colega, surgiu uma dúvida:
Existe uma forma de saber quanto de memória cada programa aberto (ou cada processo aberto) está usando; via delphi ?
Agradeço antecipadamente.
Barcelos
osbarcelos@hotmail.com
Conversando com um colega, surgiu uma dúvida:
Existe uma forma de saber quanto de memória cada programa aberto (ou cada processo aberto) está usando; via delphi ?
Agradeço antecipadamente.
Barcelos
osbarcelos@hotmail.com
Barcelos
Curtidas 0
Respostas
Japa
25/09/2003
Boa pergunta ein amigo.. esses tempos estava conversando com um amigo tambem a mesma coisa.. e ele me disse que tem um componete que ´Limpa´ as memorias que não estão usando.. mas sobre o total que ela gasta eu não sei :( Alguem ai sabe disso???
GOSTEI 0
Edineidaniel
25/09/2003
Olá,
Acho que tenho alguma coisa parecida....
deem uma olhada
var
MemoryStatus: TMemoryStatus;
begin
MemoryStatus.dwLength:= sizeof(MemoryStatus);
GlobalMemoryStatus(MemoryStatus);
Label1.Caption := ´Total de memória física : ´ + IntToStr(MemoryStatus.dwTotalPhys);
end;
{typedef struct _MEMORYSTATUS}
DWORD dwLength; // sizeof(MEMORYSTATUS)
DWORD dwMemoryLoad; // percentual de memória em uso
DWORD dwTotalPhys; // bytes de memória física
DWORD dwAvailPhys; // bytes livres de memória física
DWORD dwTotalPageFile; // bytes de paginação de arquivo
DWORD dwAvailPageFile; // bytes livres de paginação de arquivo
DWORD dwTotalVirtual; // bytes em uso de espaço de endereço
DWORD dwAvailVirtual; // bytes livres}
quem sabe isso ajude..
t+
Edinei
Acho que tenho alguma coisa parecida....
deem uma olhada
var
MemoryStatus: TMemoryStatus;
begin
MemoryStatus.dwLength:= sizeof(MemoryStatus);
GlobalMemoryStatus(MemoryStatus);
Label1.Caption := ´Total de memória física : ´ + IntToStr(MemoryStatus.dwTotalPhys);
end;
{typedef struct _MEMORYSTATUS}
DWORD dwLength; // sizeof(MEMORYSTATUS)
DWORD dwMemoryLoad; // percentual de memória em uso
DWORD dwTotalPhys; // bytes de memória física
DWORD dwAvailPhys; // bytes livres de memória física
DWORD dwTotalPageFile; // bytes de paginação de arquivo
DWORD dwAvailPageFile; // bytes livres de paginação de arquivo
DWORD dwTotalVirtual; // bytes em uso de espaço de endereço
DWORD dwAvailVirtual; // bytes livres}
quem sabe isso ajude..
t+
Edinei
GOSTEI 0
Barcelos
25/09/2003
Olá Ienide,
Não é bem isso que estamos precisando. Esta rotina retorna os totais de memória gasta, livre, etc...
Nesse caso específico, eu gostaria de retornar a quantidade [b:0ac83d570a]por processo ou por programa[/b:0ac83d570a]
Deixa eu exemplificar:
Supondo que temos o Word, a Calculadora e o Delphi abertos ao mesmo tempo. Como saber quanto cada um destes programas está usando de memória [b:0ac83d570a]individualmente?[/b:0ac83d570a]
Se tiver algo, nos avise.
Obrigado
Barcelos
osbarcelos@hotmail.com
Não é bem isso que estamos precisando. Esta rotina retorna os totais de memória gasta, livre, etc...
Nesse caso específico, eu gostaria de retornar a quantidade [b:0ac83d570a]por processo ou por programa[/b:0ac83d570a]
Deixa eu exemplificar:
Supondo que temos o Word, a Calculadora e o Delphi abertos ao mesmo tempo. Como saber quanto cada um destes programas está usando de memória [b:0ac83d570a]individualmente?[/b:0ac83d570a]
Se tiver algo, nos avise.
Obrigado
Barcelos
osbarcelos@hotmail.com
GOSTEI 0
Japa
25/09/2003
hum interessante, nos poderiamos pegar esse codigo e fazer um programinha basico que fica ligado direto.... assim quando ligamos(executamos) outro programa fazer a diferença entre o antes e o depois....
Obrigado pela dica ienide agradeço muito.... :wink:
Obrigado pela dica ienide agradeço muito.... :wink:
GOSTEI 0
Barcelos
25/09/2003
Gostei da idéia.
Acho que vale a pena tentar....
(Toda ajuda é bem vinda).
Barcelos
osbarcelos@hotmail.com
Acho que vale a pena tentar....
(Toda ajuda é bem vinda).
Barcelos
osbarcelos@hotmail.com
GOSTEI 0
Barcelos
25/09/2003
Japa,
Não vai funcionar.
:cry: :cry: :cry:
Se nós fizermos esta comparação, teremos a quantidade de memória somente no instante em que o aplicativo for aberto.
Outro problema seria calcular quanto de memória estão usando os programas que já estão abertos [b:9f1841dbc0]antes[/b:9f1841dbc0] de executarmos o nosso programa...
Sem falar de um outro problema:
Se dois programas estão abertos ao mesmo tempo e um deles está processando alguma coisa, (como o nosso cálculo é feito somente no início) como saber qual dos dois está usando a memória ????
Se tiver outra solução me avisa!!!
Barcelos
osbarcelos@hotmail.com
Não vai funcionar.
:cry: :cry: :cry:
Se nós fizermos esta comparação, teremos a quantidade de memória somente no instante em que o aplicativo for aberto.
Outro problema seria calcular quanto de memória estão usando os programas que já estão abertos [b:9f1841dbc0]antes[/b:9f1841dbc0] de executarmos o nosso programa...
Sem falar de um outro problema:
Se dois programas estão abertos ao mesmo tempo e um deles está processando alguma coisa, (como o nosso cálculo é feito somente no início) como saber qual dos dois está usando a memória ????
Se tiver outra solução me avisa!!!
Barcelos
osbarcelos@hotmail.com
GOSTEI 0
Japa
25/09/2003
humm fiquei pensando e achu que cheguei a uma solucao... Como estou na casa dos meus pais nao vou coseguir colocar minha ideia em pratica mas quando eu voltar no meu Apertamento (republica hehehe) vou tentar.... bom se eu conseguir aqui eu passo para voce amigo.... (obs: tomara que eu consiga hehehe) ate mais e boa sorte... :wink:
GOSTEI 0
Robotizar
25/09/2003
tipo, tenho uma idéia, vc faz esta rotina verificar de ppor exemplo (100 em 100 ms) e se o valor se alterar ela gravar em um arquivo de texto ai vc minimiza o prog e abre o programa q vc quer testar
depois de usar o tal programma q fechar da pra tipo saber qual foi o maximo q ele usou e fazer uma média e tal.
é apenas uma idéia :D
depois de usar o tal programma q fechar da pra tipo saber qual foi o maximo q ele usou e fazer uma média e tal.
é apenas uma idéia :D
GOSTEI 0