#top
é uma boa opção
#top -H
permite monitorar todos os segmentos
#top -U root
esse tipo de uso da opção '-U' permite monitorar a listagem específica do usuário
Eu tenho um servidor mysql executando o debian com 2GO de RAM. Eu gostaria de saber a quantidade de memória usada por cada processo.
Eu achei que o ps -aux era o comando e as opções para isso. Mas eu só vejo 90 MO usados por vários processos e free -m me diz que 1400 MO são usados.
Existe uma maneira de ter uma visão melhor dos processos e da memória usada por eles?
srv-datax:~# free -m
total used free shared buffers cached
Mem: 2015 1476 539 0 0 70
-/+ buffers/cache: 1405 609
Swap: 486 0 486
#top
é uma boa opção
#top -H
permite monitorar todos os segmentos
#top -U root
esse tipo de uso da opção '-U' permite monitorar a listagem específica do usuário
Você deve postar sua saída gratuita para sabermos que você está lendo corretamente. O uso da memória no Linux para um processo é difícil de definir especificamente, se você realmente quiser entrar nos detalhes e ter um kernel recente, confira cat /proc/<pid>/smaps
.
Top faz um bom trabalho, procure esses cabeçalhos:
VIRT RES SHR S %MEM
Outra opção na mesma linha do que o AbhishekKr sugeriu: ps aux
fornecerá um detalhamento da memória usada por cada processo no sistema.
VSZ = > Tamanho Virtual (RAM física + troca usada), RSS = > Tamanho Residente (somente RAM física).
A coluna % MEM reflete a% de RAM física usada se a memória servir, tenho certeza que alguém irá me corrigir se eu estiver errado:)
Adicionando ao que Kyle Brandt sugeriu, você pode usar a Ferramenta pmap
, que resume bem as informações encontradas em / proc / < pid > / smap. Se você usar a opção -d
, ela mostrará a quantidade de memória mapeada, compartilhada e definida como privada. Isso, IMHO, fornece uma boa visão.
Também posso sugerir a leitura de artigo interessante sobre o uso da memória .
Tags memory-usage linux