Хосту не хватает памяти, JVM со стабильным использованием - PullRequest
0 голосов
/ 23 сентября 2018

В настоящее время мы сталкиваемся с проблемой, когда нашим хостам не хватает памяти.На этих хостах работает только одно приложение.

Сначала мы заподозрили, что JVM вызывает проблему, и проверили фактическое использование памяти.JVM работает нормально, мы почти на 100% уверены, что утечек памяти нет (график памяти, показывающий свободную и использованную память, выглядит очень хорошо, это очевидно, когда включается GC, использование avg mem стабильно в течение длительного периода времени).

Тем не менее, размер свободной памяти на самом хосте медленно, но неуклонно уменьшается, не указывая, какой процесс его пережевывает, все остальные службы и демоны, работающие на хосте, стабильно используют mem).

Мы по-прежнему предполагаем, что что-то в нашем приложении вызывает это, но поскольку JVM выглядит хорошо, и наш обзор возможных утечек памяти не показал какой-либо уязвимости, которую мы сейчас застряли ...

Любые идеи?

Большое спасибо за любой намек, что тоже посмотреть!

1 Ответ

0 голосов
/ 23 сентября 2018

Самая распространенная причина использования памяти со временем - файловый кеш содержит все больше и больше файлов.Это не проблема, так как это кеш чтения, память может быть легко удалена ОС в любое время.

Например,

$ head -5 /proc/meminfo
MemTotal:       131751016 kB
MemFree:        109487136 kB
MemAvailable:   124110416 kB
Buffers:           78400 kB
Cached:         14764024 kB

На этой машине достаточно свободной памяти.Но если я получу доступ к большому количеству данных.

$ find /opt -print | xargs wc -l
$ head -5 /proc/meminfo
MemTotal:       131751016 kB
MemFree:        105404804 kB
MemAvailable:   124107668 kB
Buffers:           78400 kB
Cached:         18824784 kB

Теперь свободной памяти на 4 ГБ меньше, поскольку файлы кэшируются.

Как долго они кэшируются?До

  • Существует причина для восстановления памяти
  • компьютер перезагружается
  • диск отключен.

Короче говоря,JVM может получать доступ к файлам и извлекать их в кеш, но это не означает, что это проблема.

Кстати: резервное копирование сервера в течение ночи часто заполняет файловый кеш, но это нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...