O sistema de memória Linux é preenchido com muitas rotinas de utilitários de otimização de memória e compartilhamento de memória, fazendo com que a idéia de como a memória é compartilhada e consumida entre eles, uma abordagem complicada. saída de dados sob /proc
filesystem. Particularmente, ps
, RSS (memória de tamanho residente) e VSIZE (tamanho da memória virtual) são importantes, porém o VSIZE não mostra o uso preciso da memória e a diferença entre VSIZE e rss é o que é realmente pretendido e alocado ao programa durante a inicialização, mas pode não ser referenciado ainda.
Como o programa pode ter muitas bibliotecas vinculadas, mas elas ainda não foram carregadas porque ainda não foram referenciadas no tempo de execução real do programa. O RSS fornece a memória total realmente usada pelo programa, mas pode não fornecer uma imagem real do consumo de memória, já que a maior parte da memória alocada pode ser compartilhada com outras instâncias do mesmo processo ou outros processos. Observar em /proc/<processid>/maps
pode dar uma ideia aproximada de como a memória foi usada, mas a tranquilidade pode ser enganosa às vezes. Use pmap -x <pid>
da linha de comando, útil para ver o espalhamento.
Os utilitários geralmente melhores são free
e vmstat
. free
fornecerá detalhes gerais do consumo de memória atual e o vmstat poderá ser usado para ver com que frequência ele está sendo atualizado.