почему файл hprof имеет гораздо меньший размер, чем объем памяти, данный jvm - PullRequest
2 голосов
/ 13 апреля 2011

Наш код работает с флагом -XX: + HeapDumpOnOutOfMemoryError, поэтому мы получаем файл hprof в OOM.Недавно я получил такой файл из установки, я открыл его с помощью анализатора памяти Eclipse (MAT) и вижу, что общий размер составляет 46 МБ, как это может быть, если процесс был запущен с -Xmx1024m ???

Разве размер не должен быть намного ближе к максимальному выделенному размеру ??

Это с jdk1.6.

РЕДАКТИРОВАТЬ: хорошо, теперь я нашел аналогичный вопрос и действительно, проблема с PermGen в космосе могла быть причиной, так как мой процесс длился 23 дня.Я создаю новые темы (которые, насколько я знаю, заканчиваются правильно) очень часто, возможно, раз в секунду.Кто-нибудь знает, могу ли я как-то это подтвердить?

1 Ответ

1 голос
/ 13 апреля 2011

Это произойдет, если вам не удастся создать очень большой объект. т.е. объект, который вы не смогли создать, отсутствует в дампе.

...