2013-05-14 52 views
3

我的程序引發以下異常:HeapDumpOnOutOfMemoryError沒有創造HPROF

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

但是,當我加入-XX:+HeapDumpOnOutOfMemoryError到JVM參數,但似乎JVM沒有轉儲堆,因爲我從來沒有發現任何.hprof文件。爲什麼?

回答

1

未能創建線程實際上並不是內存不足的情況;這通常是由於本機操作系統資源的缺乏,而不是缺少堆空間。在這種情況下堆轉儲可能不是你想要的......當前線程的堆棧轉儲可能更有用。

+0

爲什麼堆棧轉儲更有用? 「本地操作系統資源」的含義是什麼?你能否解釋更多:) – simomo 2018-03-01 02:36:32