Por que o uso de RAM é tão alto em um servidor inativo? [duplicado]

4

Estou investigando um servidor usado para análise de dados científicos. Está rodando o RHEL 6.4 Tem quase 200GB de RAM. Ele está sendo executado muito lentamente para os usuários via SSH, e depois de alguns bisbilhotando eu rapidamente percebi que o uso de RAM era muito alto. O que é estranho é que, mesmo em um estado ocioso, ainda está usando uma tonelada de RAM:

Também procurei por htop e não vejo nenhum processo em execução usando mais de 0,1% da RAM. Então, eu me pergunto o que está acontecendo? Neste momento, o único processo iniciado pelo usuário em execução é um rsync entre dois compartilhamentos montados pelo NFS.

Eu tentei reiniciar o servidor e ele ficou muito mais responsivo por alguns minutos, mas o uso da memória disparou novamente.

Existe alguma maneira de identificar por que o uso de memória é tão alto?

    
por DeeDee 01.11.2013 / 19:45

3 respostas

9

É alto porque isso economiza esforço. É preciso esforço para tornar a memória livre. E se você fizer isso, basta esforço para usá-lo novamente. Assim, para economizar esforço, os sistemas operacionais modernos só libertam memória se não tiverem outra escolha.

Se você está pensando "Eu quero memória livre agora para que eu possa usá-lo mais tarde", banir esse pensamento da sua mente. A memória não precisa estar livre agora para usá-la mais tarde. Pode ser usado agora e também ser usado mais tarde. Então não há trato doloroso aqui. Usar memória é pura vitória.

Qualquer que seja o seu problema, o uso de memória alta não é isso. Isso é um sinal de um sistema que funciona normalmente.

    
por 01.11.2013 / 19:47
3

Cerca de 190G de sua memória está sendo usada pelo cache do sistema de arquivos, o que normalmente não é um problema.

Veja o campo cached no topo.

    
por 01.11.2013 / 19:50
-1

você também pode executar

echo 3 /proc/sys/vm/drop_caches

se você se sentir impaciente;)

    
por 01.11.2013 / 20:33