Предположим, вы получили дамп кучи Java для анализа утечки памяти (после -XX:+HeapDumpOnOutOfMemoryError
или из неконтролируемой партии).Вызов GC на куче кучи Java
Как уменьшить количество объектов в дампе, вызвав некоторый процесс GC, который в любом случае очищается GC после процесса сброса?
Даже на гарантии «ПерминГен» GC? – gavenkoa
@gavenkoa Вы не можете сбросить PermGen, так что там тоже ничего не удалить. –
Из спецификации JVM, http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.3, раздел 6.3: OutOfMemoryError: «Реализация Java Virtual Machine закончилась либо виртуальной, либо физической памяти, и менеджер автоматического хранения не смог восстановить достаточное количество памяти для удовлетворения запроса на создание объекта ». Это означало бы, что GC был запущен в куче, если вы запросили новый объект в куче или на пермгене, если бы ваш объект должен был туда попасть. –