1. 程式人生 > >解決myeclipse或者tomcat記憶體不足

解決myeclipse或者tomcat記憶體不足

如果myeclipse專案量或者程式碼量很大,那麼myeclipse 經常就會出現記憶體不足或者記憶體溢位的情況。記憶體溢位一般是tomcat記憶體不足。這裡先說一下myeclipse 的記憶體問題。


myeclipse 記憶體分為堆記憶體和非堆記憶體,堆記憶體是程式用的記憶體,非堆記憶體是jvm用的記憶體。


最大、最小 堆記憶體分別用-Xmx 、 -Xms  表示。  注:最大堆記憶體設定不能少於最小堆記憶體(很好理解,下面非堆記憶體也一樣。若設定不正確會導致myeclipse啟動不了)


最大、最小非堆記憶體分別用 -XX:MaxPermSize 、-XX:PermSize 表示。


另外:需要注意最大堆記憶體 和 最大非堆記憶體 的和不能超過我們電腦的實體記憶體(也很好理解)


明白這幾個東西的含義之後,就可以放心去設定myeclipse.ini中記憶體的大小了,網上很多教程說的都是這種方法。不過有時候這種方法行不通,估計是設定的這些對記憶體以及非堆記憶體大小沒有生效。此時可以使用下面的方法。

這種方法設定後對記憶體以及非堆記憶體大小馬上生效:

Window->Preferences->Myeclipse->Servers->Tomcat->Tomcat 6.x->JDK,在Optional Java VM arguments:下邊的輸入框裡輸入: 
-Xms128m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=1024m

 (數字大小自己定,格式按照這個就行了)

也可以直接修改jdk/jre的jvm:

Window->Preferences->Java->Installed JREs,在右側雙擊當前使用的jdk/jre,在Default VM Arguments中輸入:


-Xms128m -Xmx512m