Утечка памяти после миграции Java 6 на Java 8 - PullRequest
0 голосов
/ 26 мая 2020

После перехода с Java 6 на Java 8 мы обнаружили утечку памяти, которой не было в версии Java 6.

  • В Java 8 Версия Metaspace бесконечно растет без сбора мусора, установив Max Metaspace, мы получаем Metaspace OOM.

  • В версии Java 6 PerGen обычно G C несмотря на то, что он почти заполнен примерно до максимального значения 512 Mo, но приложение никогда не выдавало PermGen нехватки памяти или какой-либо OOM.

В версии Java 8 Мы запускаем MAT на дампе кучи затем мы обнаружили много c объектов, почти 50% метапространства заполнено этими c объектами в HashMap.

__ Мы не уверены, является ли это причиной root, но мы не понимаем, как эти объекты (вероятно, присутствующие в пространстве PermGen в версии Java 6) были хорошо собраны мусором в Java 6 Версия.

__ Были ли изменения в Jvm 8 Hotspot, которые по-другому обрабатывают сбор c объектов?

...