Eu tenho um servidor com 64 GiB de RAM rodando 32 bits Debian GNU / Linux v7.9:
# uname -a
Linux srv1 3.2.0-4-686-pae #1 SMP Debian 3.2.68-1+deb7u5 i686 GNU/Linux
# free -m
total used free shared buffers cached
Mem: 64203 8352 55850 0 134 5861
-/+ buffers/cache: 2356 61847
Swap: 8582 0 8582
O problema é que a memória permanece sem uso enquanto pode ser usada para armazenamento em cache e, portanto, melhorando o desempenho do sistema.
Eu tenho outro servidor com o mesmo hardware que roda o Debian GNU / Linux v8.1 de 64 bits e NÃO tem esse problema:
# uname -a
Linux srv2 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
# free -m
total used free shared buffers cached
Mem: 64513 62750 1763 45 10235 42048
-/+ buffers/cache: 10466 54047
Swap: 8582 39 8543
O primeiro servidor está realmente mais ocupado que o segundo, então o problema não é que ele não tenha dados suficientes para armazenar em cache. Além disso, o primeiro servidor não está ocupado para que os caches sejam expirados muito rapidamente devido às altas demandas de memória dos processos do espaço do usuário.
Você pode, por favor, me dar uma ideia de por que a memória no primeiro servidor permanece sem uso?
Algumas notas adicionais:
Tags 32-bit cache memory linux linux-kernel