A contabilidade da memória por processo é complicada por várias razões em que entrarei em um minuto. Para um monitoramento simples, scripts gkrellmd ou nagios provavelmente são suficientes. Se você deseja maior precisão, precisará procurar mais.
A smem introduz o conceito de tamanho proporcional do conjunto :
Como grandes partes da memória física geralmente são compartilhadas entre vários aplicativos, a medida padrão do uso da memória, conhecida como RSS (tamanho do conjunto residente), superestima significativamente o uso da memória. O PSS mede o "compartilhamento justo" de cada aplicativo de cada área compartilhada para fornecer uma medida realista.
Exemplo: você inicia o GNOME, fazendo com que vários processos sejam iniciados, um para cada applet e programa. Todos eles estão vinculados ao libglib. O Linux carrega o libglib em um bloco de memória e o mapeia em todos os processos que desejam o libglib. A contabilidade de memória ingênua conta o tamanho total da libglib em todos os processos vinculados a ela.
O smem divide o custo do libglib entre os processos que o utilizam, para fornecer uma imagem mais próxima da realidade. Ele também possui várias opções para exibir o uso de memória (no site):
- Mostrar informações básicas do processo smem
- Mostrar visualização do sistema smem -R 4G -K / caminho / para / vmlinux -w
- Mostrar totais e porcentagens smem -t -p
- Mostrar colunas diferentes smem -c "name user pss"
- Mostrar processos filtrados pelo mapeamento smem -M libxml
- Mostrar mapeamentos filtrados pelo processo smem -m -P [e] volution
- Leia dados do capture tarball smem --source capture.tar.gz
- Mostrar um gráfico de barras marcado com a etiqueta pid smem --bar pid -c "pss uss"
- Mostre um gráfico circular do RSS rotulado pelo nome smem --pie name -s rss
Você precisará, no entanto, de um kernel muito recente (> 2.6.27).