HeapDumpOnOutOfMemoryError没有创建hprof

时间:2013-05-14 01:59:13

标签: java

我的程序抛出以下异常:

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

但是当我向jvm参数添加-XX:+HeapDumpOnOutOfMemoryError时,似乎jvm没有转储堆,导致我从未找到任何.hprof文件。为什么呢?

2 个答案:

答案 0 :(得分:4)

请参阅此错误报告底部标有“评估”的部分。

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

当您无法创建新的本机线程时,-XX:+HeapDumpOnOutOfMemoryError将不会触发转储。

答案 1 :(得分:1)

创建线程失败实际上并不是内存不足;它通常是由缺乏本机操作系统资源引起的,而不是缺少堆空间。在这种情况下,堆转储可能不是您想要的...当前线程的堆栈转储可能更有用。