Fórum Memória usada por programas #184191

25/09/2003

0

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


Barcelos

Barcelos

Responder

Posts

25/09/2003

Japa

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???


Responder

Gostei + 0

25/09/2003

Edineidaniel

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


Responder

Gostei + 0

26/09/2003

Barcelos

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


Responder

Gostei + 0

26/09/2003

Japa

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:


Responder

Gostei + 0

26/09/2003

Barcelos

Gostei da idéia.
Acho que vale a pena tentar....

(Toda ajuda é bem vinda).

Barcelos
osbarcelos@hotmail.com


Responder

Gostei + 0

26/09/2003

Barcelos

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


Responder

Gostei + 0

26/09/2003

Japa

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:


Responder

Gostei + 0

27/09/2003

Robotizar

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar