Как читать дамп Jave 8 metaspace - PullRequest
1 голос
/ 30 марта 2019

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

Ранее процесс зависал по крайней мере один раз в день. Он работал нормально, по крайней мере, 4 дня, так как я применил исправление. И чтобы дважды убедиться, что исправление работает наверняка, я выкинул метапространство, используя jcmd Metaspace.dump

Однако у меня проблемы с чтением дампов метапространства, я считаю, что ключевая информация находится в разделе заголовка, вставленном ниже. Я понятия не имею о разнице между пространством классов и пространством, не относящимся к классу, и тем, сколько метапространства было зафиксировано в моем процессе. Так что помощь здесь нужна, заранее спасибо!

Dump Reason : JCMD
MaxMetaspaceSize : 536870912 B
CompressedClassSpaceSize : 528482304 B
Class Space Used : 21412264 B
Class Space Capacity : 25373696 B
Class Space Committed : 44572672 B
Class Space Reserved : 1073741824 B
NonClass Spaces Used : 178477376 B
NonClass Spaces Capacity : 219028480 B
NonClass Spaces Committed : 347594752 B
NonClass Spaces Reserved : 348127232 B

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

...