我的程序抛出以下异常:
java.lang.OutOfMemoryError: unable to create new native thread
但是当我添加-XX:+HeapDumpOnOutOfMemoryError
到 jvm 参数时,似乎 jvm 没有转储堆,因为我从来没有找到任何 .hprof 文件。为什么?
我的程序抛出以下异常:
java.lang.OutOfMemoryError: unable to create new native thread
但是当我添加-XX:+HeapDumpOnOutOfMemoryError
到 jvm 参数时,似乎 jvm 没有转储堆,因为我从来没有找到任何 .hprof 文件。为什么?
请参阅此错误报告底部标记为“评估”的部分。
http://bugs.sun.com/view_bug.do?bug_id=6784422
当-XX:+HeapDumpOnOutOfMemoryError
您无法创建新的本机线程时,不会触发转储。
未能创建线程实际上并不是内存不足的情况。这通常是由于缺乏本机操作系统资源,而不是堆空间不足引起的。在这种情况下,堆转储可能不是您想要的……当前线程的堆栈转储可能会更有用。