錯誤現象,eclipse
插件配置weblogic9.2
,啟動后進入 console
控制臺發布程序時,后臺報錯,出現類型如下錯誤
<2008-8-28 下午04時02分47秒 CST> <Error> <netuix> <BEA-423143> <A javax.servlet.ServletException occurred while rendering JSP /framework/skeletons/default/gridlayout.jsp, for control com.bea.netuix.servlets.controls.layout.GridLayout indicating the exception most likely originated in the JSP page. The error was: javax.servlet.ServletException: PermGen space The underlying cause was: java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space |
注意上表中紅色標記部分,內存溢出。
我的筆記本有2、3G怎么還會內存溢出呢?不是說你筆記本的內存不夠用,是指超過了jvm默認的大小(4M)那么就會產生此錯誤信息了。
解釋一下(網上看的):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的時候。
解決的辦法:
Eclipse –preferences-weblogic的javaVM option點add按鈕,增加一行:
-XX:MaxPermSize=128m(這個是按照內存1G配置,如果你的內存足夠大,你可以設置大于128)
有人說需要修改.sh文件,其實我覺得不必要,直接在eclipse的weblogic插件下修改,顯得更為方便。
重新啟動weblogic,是否發現之前的錯誤飛了。
good luck~~~