O sistema de memória Linux é preenchido com muitas rotinas de utilitários de otimização de memória e compartilhamento de memória, criando uma idéia complicada de como a memória é compartilhada e consumida, uma abordagem complicada. A saída de ps e outros comandos relacionados ao ps aumentam sua saída a partir de dados no /proc
sistema de arquivos. Particularmenteps
, RSS (memória de tamanho residente) e VSIZE (tamanho da memória virtual) são importantes, no entanto, o VSIZE não mostra o uso exato da memória e a diferença entre VSIZE e rss é o que é realmente destinado e alocado ao programa durante a inicialização, mas ainda não pode ser referenciado. 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 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, pois a maior parte da memória alocada pode ser compartilhada com outras instâncias do mesmo processo ou de outros processos. Olhar para baixo /proc/<processid>/maps
pode dar uma idéia aproximada de como a memória foi usada, mas elas podem ser enganosas às vezes. Usarpmap -x <pid>
na linha de comando, é útil ver a propagação.
Os utilitários frequentemente melhores são free
e vmstat
. free
fornecerá detalhes gerais sobre o consumo atual de memória e o vmstat pode ser usado para ver com que frequência ele está sendo atualizado.