У меня есть сервер с 64 ГиБ RAM под управлением 32-битного 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
Проблема в том, что память остается неиспользованной, пока ее можно использовать для кеширования и, таким образом, улучшая производительность системы.
У меня есть другой сервер с таким же оборудованием, на котором работает 64-битный Debian GNU / Linux v8.1 и НЕ есть такая проблема:
# 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
Первый сервер на самом деле более загружен, чем второй, поэтому проблема не в том, что у него недостаточно данных для кеширования. Кроме того, первый сервер не так загружен, чтобы срок действия кешей истекал очень быстро из-за высоких требований к памяти со стороны процессов пользовательского пространства.
Подскажите, пожалуйста, почему память на первом сервере не используется?
Некоторые дополнительные примечания: