Se eu executar top -c
ou htop
obter processos com o consumo de memória, mas não é o que eu quero ver.
Existe uma linha de comando que permite ver o consumo de RAM de um determinado aplicativo?
Por exemplo, quero ver o consumo de RAM do servidor da web Apache (não verificando todos os processos que ele executa)
10
Respostas:
Há uma explicação detalhada muito boa aqui: https://blogs.kde.org/2005/09/15/measuring-memory-usage
Mas essencialmente: você precisa realmente entender e entender como o aplicativo está configurado.
Então, por exemplo, olhando para o mysql:
A memória total usada é de cerca de 25 MB (pegue o RES de 27 MB e subtraia o compartilhado (SHR))
Eu validei isso verificando o uso total de memória (free -m, + / buffers / cache) antes e depois de emitir um "killall mysqld". Após matar todos os processos do mysqld, o uso da memória caiu em 25 MB de acordo com "free -m".
Se você perceber que cada processo possui colunas VIRT, RES e SHR idênticas, provavelmente são apenas threads do mesmo processo. (As bibliotecas Linux mais antigas tratavam do encadeamento gerando vários processos reais que essencialmente ocupavam a mesma memória)
Se eles forem diferentes, você poderá estimar fazendo um SUM de (RES - SHR). Mas isso só funciona se os processos forem de fato processos separados e não apenas threads do mesmo processo. Olhar para o PPID (Parent Process ID) também ajuda. Se todos eles tiverem o mesmo pai, provavelmente serão apenas threads (embora não necessariamente).
Infelizmente, não existe uma maneira fácil e muito boa de responder isso no Linux. A única maneira fácil é verificar "livre" imediatamente antes de encerrar o processo e verificar novamente imediatamente depois. observe a linha "- / + buffers / cache:" e veja quanto uso de memória diminuiu e que lhe dirá quanto estava usando.
fonte
Com um pouco de ajuda
man ps
e esta ótima resposta ...Por exemplo:
Outras maneiras:
Isso pode ser executado sem
-x
etail -1
:mostra apenas porcentagem:
Além disso, durante o uso,
top
você pode pressionar ipara ignorar os processos ociosos / zumbis para facilitar a leitura:fonte
pmap
mostra muitas coisas sobre os recursos que o PID está usando. As informações são fornecidas com base no nome do processo e no PID encontrado usando-opidof
, portanto, o processo principal é exibido com qualquer nome que você fornecer (eu acho, não sei se isso se refere aos processos-pai)