Ao executar top
, recebo:
top - 09:10:52 up 18:37, 1 user, load average: 1.56, 1.33, 1.15
Tasks: 39 total, 1 running, 38 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.6%sy, 1.0%ni, 92.5%id, 5.8%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4194304k total, 3045460k used, 1148844k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 2256128k cached
Veja a peça: 2256128k em cache? O que exatamente isso significa?
Estou comparando dois VPS de dois provedores, este sempre possui uma grande quantidade (70% da memória usada) e o outro provedor VPS sempre mostra 0.
o kernel do Linux usará a memória disponível para o cache do disco, a menos que seja exigido por um programa em execução.
Isso é considerado bom; digamos que você tem 4 GB de RAM e seus programas estão usando apenas 1 GB. Os outros 3 GB estão indo para o lixo. Apesar da impressão de "sentir-se bem" ao saber que você está usando apenas 25% da sua memória, a contrapartida é que os outros 75% não são utilizados. Portanto, o kernel usa isso para armazenar arquivos em cache, o que melhora significativamente o desempenho. É automático; ao contrário dos sistemas operacionais mais antigos, você não precisa decidir quanto dedicar ao cache de disco ou configurá-lo manualmente.
"O cache de disco do Linux é muito discreto. Ele usa memória sobressalente para aumentar bastante a velocidade de acesso ao disco, e sem tirar nenhuma memória dos aplicativos. Um armazenamento de memória RAM totalmente usado no Linux é um uso eficiente do hardware, não um sinal de aviso".
Essa é uma pergunta tão comum que existe um site inteiro dedicado a ela:
http://www.linuxatemyram.com
O site ainda tem uma maneira de esvaziar o cache do disco, para que você possa executar alguns aplicativos e ver quanto mais rápido eles estão com o cache ativado :)
fonte