weblogic java.lang.OutOfMemoryError: PermGen space 問題解決方法


文章轉自:http://blog.csdn.net/cuihaiyang/article/details/6679735

最近安裝了WebLogic10.3.4,測試在weblogic上部署項目,沒過多久就報錯了:

weblogic.servlet.jsp.CompilationException: Failed to compile JSP /error.jsp Exception occurred while processing 'D:\JavaProject\struts2\webapp\error.jsp'java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 

 

上網查找說是要增大PermGen space的大小,但大部分都是修改tomcat的文章,最后找到http://darkjune.iteye.com/blog/178854才知道要在哪里修改。

方法如下

修改weblogic安裝目錄下wlserver\common\bin\commEnv.cmd,找到set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m,修改成set MEM_ARGS=-Xms256m -Xmx512m -XX:MaxPermSize=256m,可根據機器配置調整。其中有針對oracle自己jvm和sun jvm的配置,我使用的是sum的jvm所以只修改了“:sun”下面的MEM_ARGS。解釋一下參數含義:

  -Xms:內存初始值 
  -Xmx:內存最大值(不要超過內存的80%)
  -XX:MaxPermSize:PermGen(用於存放Class和Meta的信息)區域內存最大值。

運行一段時間發現還是報錯,查看了啟動命令,發現%MW_HOME%\user_projects\domains\mydomain\bin\setDomainEnv.cmd在調用完wlserver\common\bin\commEnv.cmd后有這么一句:set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m,將其修改成256m。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM