Eclipse以及TOMCAT(以腳本啓動)報錯PermGen space

Eclipse報錯PermGen space:

在Eclipse.ini中最後添加

步驟1:

-XX:PermSize=128M  
-XX:MaxPermSize=128M

步驟2:

運行程序中右鍵選擇Run Configurations。然後在Arguments中的VM arguments裏添加

-XX:PermSize=128M  
-XX:MaxPermSize=128M


TOMCAT(以腳本啓動,例:startup.bat)報錯PermGen space:

步驟1:

修改bin/catalina.sh

在echo "Using, CATALINA_BASE:   $CATALINA_BASE上

增加  JAVA_OPTS="$JAVA_OPTS" -server -XX:PermSize=128m -XX:MaxSize=512m

步驟2:

修改bin/catalina.sh

在echo Using CATALINA_BASE:   "%CATALINA_BASE%"上

增加set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128m -XX:MaxPermSize=512m


以下是來自網絡的資料:

1、PermGen space簡介

PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域OutOfMemoryError: PermGen space從表面上看就是內存益出,解決方法也一定是加大內存。

說說爲什麼會內存益出: 
(1)這一部分用於存放Class和Meta的信息,Class在被 Load的時候被放入PermGen space區域,它和和存放Instance的Heap區域不同。 
(2) GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現PermGen space錯誤。這種錯誤常見在web服務器對JSP進行pre compile的時候。

如果你的WEB APP下都用了大量的第三方jar,其大小超過了jvm默認的大小(4M)那麼就會產生此錯誤信息了。


解決方法: 手動設置MaxPermSize大小




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章