eclipse運行報java.lang.OutOfMemoryError: PermGen space解決方法

1、在window下eclipse裏面Server掛的是tomcat6,一開始仍是覺得,tomcat配置的問題,後面發現,配置了tomcat裏面的catalina.bat文件,加入
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=108m -XX:MaxPermSize=512m
,eclipse跑起來仍是報java.lang.OutOfMemoryError: PermGen space。
後面在網上找了資料,要在eclipse裏面配置才能夠。
點擊「Run」 – 「Run Configurations…」,選中Tomcat Server,進入Arguments分頁,在VM arguments中加入提高初始分配空間的參數
第一步:
這裏寫圖片描述java

第二步:加入參數
-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256M
這裏寫圖片描述linux

一、PermGen space簡介web

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

說說爲何會內存益出:
(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)那麼就會產生此錯誤信息了。
建議:將相同的第三方jar文件移置到tomcat/shared/lib目錄下,這樣能夠減小jar 文檔重複佔用內存markdown

2、在linux下部署的時候要修改catalina.sh
JAVA_OPTS=」$JAVA_OPTS -server -Xms1536m -Xmx1536m -XX:PermSize=256m -XX:MaxPermSize=512m」eclipse

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。jvm

相關文章
相關標籤/搜索