Entendendo o uso da memória e números no Linux

1

Eu tenho um servidor web executando o Apache que tem alguns números interessantes para uso de memória.

Olhando de cima, tenho as seguintes informações de memória

Mem:  11679976k total, 10917568k used,   762408k free,   384320k buffers
Swap:  4194296k total,        0k used,  4194296k free,  1103728k cached

Portanto, subtraindo buffers e cache, há aproximadamente 9 GB ou mais de memória sendo usada. free -m confirma isso.

             total       used       free     shared    buffers     cached
Mem:         11406      10642        763          0        375       1077
-/+ buffers/cache:       9189       2217
Swap:         4095          0       4095

Este servidor da web é bastante ocupado, então quando desativamos o apache, esperamos que esse uso de memória caia drasticamente, mas isso não diminui muito.

Como posso encontrar o que realmente está usando toda essa memória? De saída de topos após desligar o apache, ninguém está usando muita memória. Isso me diz que ninguém está usando essa memória, mas o sistema está reportando que está sendo usado.

Tivemos vários servidores travando porque a memória foi consumida, então estamos tentando entender melhor o que está acontecendo.

    
por morgana 24.10.2013 / 20:10

1 resposta

2

Confira /proc/meminfo e /proc/slabinfo . O comando slabtop pode ajudá-lo a entender o conteúdo do slabinfo.

Existem caches que podem consumir memória, mas não são categorizados como cache ou buffers por top / free. inode e dentry vêm à mente (particularmente se você tiver sistemas de arquivos extensos).

    
por 24.10.2013 / 20:30