
Estou executando web e banco de dados em um único servidor com 4 GB de RAM. Quando verifiquei a memória usando free -m, posso ver que a maior parte da memória está em cache.
free -m
total used free shared buff/cache available
Mem: 3534 1507 973 25 1052 1676
Swap: 8191 0 8191
Existe alguma maneira de descobrir qual processo é atendido pelo cache ou quais estão recebendo cache, porque toda vez que tenho que usar o comando de sincronização para limpar a memória livre.
Responder1
Em geral você devenãofaça isso.Memória livre é memória não utilizada, um recurso desperdiçado. O kernel sabe o que está fazendo: enquanto não houver um uso melhor para a memória, ele a utilizará para buffers de E/S ou cache de disco. Quando um processo for necessário mais memória para executar processos, o kernel irá alocá-la automaticamente.
A menos que você possamedirSe houver um desequilíbrio entre o uso do espaço de troca e da memória, você não deve interferir nos parâmetros de alocação de memória.