Como descobrir quais processos estão consumindo toda a memória?
84
Estou procurando algo como top é o uso da CPU. Existe um argumento de linha de comando para o top que faz isso? Atualmente, minha memória está tão cheia que até 'man top' falha com falta de memória :)
No Linux, basta pressionar Mpara classificar por uso de memória física (coluna RES). Em * BSD, execute top -o resou top -o size. Mas o htop é muito melhor e nem consome mais memória do que o top (no entanto, não faz parte do conjunto de ferramentas básico, portanto você pode não ter o instalado).
Gilles
2
Eu tive que pressionar spara classificar por %MEMe, em seguida, pressione escape para o topo.
precisa
11
Se você o tiver instalado, eu gosto de htop iniciá-lo f6, pressione down arrow(( MEM%)) enterpara classificar por memória.
Uma vez topiniciado, pressione Fpara alternar para a tela do campo de classificação. Escolha um dos campos listados pressionando a tecla listada à esquerda; você provavelmente quer NparaMEM%
Se você deseja MEM%, pressionar 'M' faz o mesmo indicado acima. 'c' adiciona parâmetros de linha de comando à lista de processos, pode ser informativo para o seu problema.
wag
6
No Solaris, o comando que você precisa é:
prstat -a -s size
Isso listará todos os processos em ordem decrescente do tamanho da imagem do processo. Observe que o último é baseado na memória comprometida com o processo pelo sistema operacional, não no uso de memória física residente.
Supostamente, há versões de "top" disponíveis para Solaris, mas elas não fazem parte da instalação padrão.
Respostas:
Por dentro,
top
você pode tentar o seguinte:Você também pode tentar:
Isso fornecerá os 5 principais processos por uso de memória.
fonte
M
para classificar por uso de memória física (coluna RES). Em * BSD, executetop -o res
outop -o size
. Mas o htop é muito melhor e nem consome mais memória do que o top (no entanto, não faz parte do conjunto de ferramentas básico, portanto você pode não ter o instalado).s
para classificar por%MEM
e, em seguida, pressione escape para o topo.Se você o tiver instalado, eu gosto de
htop
iniciá-lo f6, pressione down arrow((MEM%
)) enterpara classificar por memória.fonte
Uma vez
top
iniciado, pressione Fpara alternar para a tela do campo de classificação. Escolha um dos campos listados pressionando a tecla listada à esquerda; você provavelmente quer NparaMEM%
fonte
No Solaris, o comando que você precisa é:
Isso listará todos os processos em ordem decrescente do tamanho da imagem do processo. Observe que o último é baseado na memória comprometida com o processo pelo sistema operacional, não no uso de memória física residente.
Supostamente, há versões de "top" disponíveis para Solaris, mas elas não fazem parte da instalação padrão.
fonte
Uma boa alternativa
top
éhtop
. Verifique, é muito mais amigável do que o normal.fonte
Este comando identificará os principais processos que consomem memória:
fonte
Você pode tentar
ps aux --sort -rss | head
oups aux | sort -nk +4 | tail
fonte