1. 程式人生 > >Java heap space 解決方法

Java heap space 解決方法

java.lang.OutOfMemoryError: Java heap space 這樣的錯誤。
在網上一查可能是JAVA的堆疊設定太小的原因。
跟據網上的答案大致有這兩種解決方法:
1、設定環境變數
 set JAVA_OPTS= -Xms32m -Xmx512m
可以根據自己機器的記憶體進行更改,但本人測試這種方法並沒有解決問題。可能是還有哪裡需要設定。

2、java -Xms32m -Xmx800m className
就是在執行JAVA類檔案時加上這個引數,其中className是需要執行的確類名。(包括包名)
這個解決問題了。而且執行的速度比沒有設定的時候快很多。

如果在測試的時候可能會用Eclispe 這時候就需要在Eclipse ->run -arguments 中的VM arguments 中輸入-Xms32m -Xmx800m這個引數就可以了。

如果是 windows, tomcat 本身提供的工具(Configure Tomcat)就可以設定了 。
設定附圖中紅色框指示的位置就好了。



如果是unix/linux,可以

export JAVA_OPTS="-Xms256m -Xmx512m"




當然那,具體size 應該根據計算機記憶體的大小來定。

另外一種錯誤資訊是:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.OutOfMemoryError: PermGen space