Primeiro, verifique esta página: O Linux comeu minha RAM .
Você não descreveu nenhum comportamento que indique um vazamento de memória, pelo menos nenhum que eu possa perceber. Como explicado na página acima, o kernel usará RAM livre como cache de leitura de disco. Bytes alocados como cache serão liberados pelo kernel imediatamente para qualquer aplicativo que precise dele.
Tente executar free
em vez de -o
. Ao fazer isso, você receberá um valor de RAM disponível, levando em consideração o que está sendo usado atualmente para o cache. Veja alguns exemplos de saída de um dos meus servidores:
user@host:~$ free
total used free shared buffers cached
Mem: 510652 430976 79676 0 134520 156876
-/+ buffers/cache: 139580 371072
Swap: 262136 40796 221340
Veja a linha -/+ buffers/cache
? O valor na coluna free
reflete a quantidade real de RAM disponível para seus aplicativos.