Буферный пул JVM только растет - PullRequest
0 голосов
/ 02 октября 2018

Я работаю в ElasticSearch и использую прометей для очистки метрик.Глядя на графики, я мог видеть, как метрика jvm_buffer_pool просто растет, пока, наконец, не выйдет из строя

Как я понял, буферный пул находится вне GC, но как его очистить?

1 Ответ

0 голосов
/ 06 октября 2018

JVM имеет прямые байтовые буферы, которые находятся на объектах кучи, которые проксируют память вне кучи.ByteBuffer составляет десятки байтов, даже если объем оперативной памяти составляет 1 ГБ.Когда GC очищает этот прокси-объект, потому что на него больше нет ссылок, память вне кучи также освобождается.

Если память вне кучи не освобождается, это потому, что;

  • это на куче прокси сохраняются.т. е. требуется память.
  • ElasticSearch выделяет память вне кучи напрямую, а библиотека имеет утечку (маловероятно),-XX:MaxDirectMemorySize=64g или что вы можете сэкономить.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...