Я знаю, что процесс может использовать дисковый кеш в качестве свободной памяти по мере необходимости. На моей 32-битной машине я вижу, что дисковый кеш может использовать всю свободную память. Но на 64-битной машине не может. На 64-битной машине у меня 252 ГБ ОЗУ (бесплатная команда), 24 ядра и 90 дисков jbod. Запуск 45 серверов Java с -Xmx2000m для чтения / записи небольших файлов с / на диски.
Каждые 4/8/10/13 часов я также получаю внезапное падение кеша на диске. Я вижу, что после падения дискового кеша следующие 5-6 часов дисковый кеш достигает ~ 110 ГБ, но после этого в течение следующих 4-5 часов он не пересекает этот предел ~ 110 ГБ (но все еще остается ~ 80 ГБ), а затем внезапно весь кеш диска падает.
Понятия не имею, что здесь происходит. Пожалуйста, посоветуйте мне: есть ли какая-либо конфигурация системы для решения этой проблемы или проблема с jbod / памятью, если да, то как решить.
Использование ОС Linux и 64-битной JVM.
free -g
total used free shared buffers cached
Mem: 252 162 89 0 42 80
-/+ buffers/cache: 39 212
Swap: 1 0 1