這個問題是與此相關的one:如果有空閒堆空間,爲什麼會出現OutOfMemoryError?
如果我有一個堆轉儲報告線程95%
留在wait
或parked
狀態,並且有以防萬一750MB的可用堆內存怎麼可能得到一個java.lang.OutOfMemoryError
?
由於根據報告似乎有免費的堆,這對我來說似乎很奇怪!
任何人都可以幫我解釋一下嗎?
這個問題是與此相關的one:如果有空閒堆空間,爲什麼會出現OutOfMemoryError?
如果我有一個堆轉儲報告線程95%
留在wait
或parked
狀態,並且有以防萬一750MB的可用堆內存怎麼可能得到一個java.lang.OutOfMemoryError
?
由於根據報告似乎有免費的堆,這對我來說似乎很奇怪!
任何人都可以幫我解釋一下嗎?
你正在使用什麼樣的操作系統?它是32位還是64位?您的JDK 32位或64位?總共需要多少堆空間? 嘗試運行更多最大堆空間的程序。當我想要轉換一個XML文件時,我遇到了同樣的問題。您只需設置以下參數:
在你的shell:
java -Xmx1024m -jar yourfile.jar
你能接受工作答案嗎?爲你做了什麼? – 2012-07-27 11:12:17
OOME可以通過堆溢出或堆棧溢出引發。 所以如果你確定堆足夠了,我推薦檢查堆棧大小。
我認爲你的意思是缺少堆棧空間,堆棧溢出是由遞歸級別太多造成的。 – 2012-07-27 08:44:05
如果堆棧空間太小,我不會得到'StackOverflow'錯誤而不是'OutofMemoryError'? http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp – Jim 2012-07-27 09:26:40
如下面的鏈接,OutOfMemoryError可以通過堆棧大小問題引發。 https://kr.forums.oracle.com/forums/thread.jspa?threadID=605890 – nurinamu 2012-07-27 10:05:52
顯示整個錯誤信息...... – beny23 2012-07-27 08:04:05
@ beny23:一切都在文章中,我鏈接到的 – Jim 2012-07-27 08:07:20
可能重複[如何檢測因爲OutofMemoryError?](http://stackoverflow.com/questions/11682726/how-to-detect-the-cause-of-outofmemoryerror) – beny23 2012-07-27 08:18:25