java.lang.OutOfMemoryError: PermGen space

java.lang.OutOfMemoryError: PermGen space


解決方法: 


設置MaxPermSize的大小修改 TOMCAT_HOME/bin/catalina.bat(Linux上爲catalina.sh)文件, 在echo Using CATALINA_BASE:   "%CATALINA_BASE%"上面加入這一行內容: 


catalina.bat前面加上如下: 

Java代碼  收藏代碼
  1. set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M


catalina.sh前面加上如下:  


Java代碼  收藏代碼
  1. JAVA_OPTS="$JAVA_OPTS" -server -XX:PermSize=128m -XX:MaxSize=512m  



如果bin目錄裏面找不到catalina.bat文件,怎麼辦?

安裝版的tomcat 7,所以沒有。那怎樣像免安裝版一下修改裏面的內存參數呢?有兩個方法:

第一:修改註冊表

32位OS打開HKEY_LOCAL_MACHINE -> SOFTWARE -> Apache Software Fundation -> Procrun2.0 -> Tomcat7 -> Parameters -> Java -> Options 

64位OS打開HKEY_LOCAL_MACHINE -> SOFTWARE -> WOw6432Node -> Apache Software Fundation -> Procrun2.0 -> Tomcat7 -> Parameters -> Java -> Options

,在最後加兩句話:

-Xms1024M
-Xmx1024M
-XX:PermSize=256M
-XX:MaxNewSize=256M
-XX:MaxPermSize=256M



然後重新啓動Tomcat。

第二:直接在Tomcat的圖形化管理界面的Java標籤下的Java Options 中添加第一種方法裏面的兩句話,效果是一樣的。



還有一種思路,那就是如果一個Tomcat裏面放了好幾個web項目,那麼最好把這幾個項目中共同的jar文件拿出來,放在Tomcat的lib中,這樣就避免了中間件爲這些重複的jar中的類各自分配內存的問題。


發佈了41 篇原創文章 · 獲贊 39 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章