必須修正一下Eclipse Home下的eclipse.ini這個檔案。(Eclipse Home:存放Eclipse的路徑)
這是Eclipse最初的eclipse.ini
------------------------------------------------------
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
------------------------------------------------------
一、首先將第7、8、11、12移除。
二、在最後面加入下列兩行。
-XX:PermSize=???m
-XX:MaxPermSize=???m※???處請自行填入記憶體大小。(可以連同第15、16行的數字作修改)
save後,重開eclipse即可正常操作了,如果開啟eclipse還會跳出錯誤視窗,請調整記憶體大小。
這是目前我設置的記憶體大小(本環境實際安裝的記憶體為3GB):
-Xms48m
-Xmx768m
-XX:PermSize=64m
-XX:MaxPermSize=256m
=====================================================
牢騷記:
網路上找到的都是要去修改tomcat的設定檔,但是用下command的方式啟動tomcat時是正常的,所以並不是tomcat的問題。最後找到的方法就是在eclipse.ini裡面設定PermGen的大小。
※什麼是PermGen space?
PermGen space的全稱是Permanent Generation space,是指記憶體的永久保存區域,這塊記憶體主要是被JVM存放Class和Meta資訊的,Class在被Loader時就會被放到PermGen space中,它和存放類實例(Instance)的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的應用中有很多CLASS的話,就很可能出現PermGen space錯誤,這種錯誤常見在web伺服器對JSP進行pre compile的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小超過了jvm默認的大小(4M)那麼就會產生此錯誤資訊了。
沒有留言:
張貼留言