2013-05-14 4 views
3

Моя программа выдает следующее исключение:HeapDumpOnOutOfMemoryError не создавая HPROF

java.lang.OutOfMemoryError: unable to create new native thread 

Но когда я добавил -XX:+HeapDumpOnOutOfMemoryError к параметрам Jvm, но мне кажется, что JVM не дамп кучи, потому что я никогда не найти .hprof файл. Зачем?

ответ

4

См. Раздел с пометкой «Оценка» в нижней части отчета об ошибке.

http://bugs.sun.com/view_bug.do?bug_id=6784422

-XX:+HeapDumpOnOutOfMemoryError не вызовет дамп, когда вы не можете создать новую родную нить.

1

Невозможность создать нить на самом деле не является условием отсутствия памяти; это обычно вызвано отсутствием собственных ресурсов ОС, а не нехваткой кучи. Дамп кучи, вероятно, не тот, который вы хотите в этой ситуации ... дамп стека ваших текущих потоков, вероятно, будет гораздо более полезным.

+0

Почему свалка стека более полезна? В чем смысл «родных ресурсов ОС»? Не могли бы вы объяснить больше :) – simomo

Смежные вопросы