weblogic8.1项目向weblogic9.2移植的java.lang.OutOfMemoryError: PermGen space问题!

weblogic8.1项目向weblogic9.2移植,一直报下面的错误:

<2012-6-27 下午04时13分29秒 CST> <[weblogic.servlet.internal.WebAppServletContext@19f963e - appName: '__nitrox_autoconfig_deployment__', name: 'web', context-path: '/JgnhWeb'] Root cause of ServletException.
java.lang.OutOfMemoryError: PermGen space
>
<2012-6-27 下午04时13分30秒 CST> <[weblogic.servlet.internal.WebAppServletContext@19f963e - appName: '__nitrox_autoconfig_deployment__', name: 'web', context-path: '/JgnhWeb'] Problem occurred while serving the error page.
java.lang.OutOfMemoryError: PermGen space
>

网上查了很多资料,解决方法如下:

 解决方法:调整bea/weblogic/common中CommEnv中参数
 :sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms256m -Xmx512m -XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms256m -Xmx512m -XX:MaxPermSize=256m
goto continue

即解决此问题

有很多方法
1.
在weblogic81/common/bin/commEnv.sh中配置
MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m"
-Xms:内存初始值
-Xmx:内存最大值(不要超过内存的80%)
MaxPermSize:PermGen(Class和Meta存放区域)区域内存最大值。

可调整为:
MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=256m"

发现commEnv.sh 中有好几处设置MEM_ARGS的地方,不懂只好都改了

2.

startWebLogic.cmd中设置java命令行的参数 startWebLogic.cmd

这个方法简单,但是想用Eclipse调试,于是用Eclipse启动Weblogic又报错了.

3.那改改Eclipse启动Weblogic的参数吧 一看就明白了...^_^

设置JDK属性
 
-Xms512m -Xmx512m

 
但上述的方法都试完了,问题仍旧,后来发现是jdk的问题,不需要修改weblogic的配置文件,web.xml也不用修改成servlet2.4的,还用原来8.1环境下的servlet2.3申明,只是把weblogic.xml删除,服务启动时,会自动提示创建9.2环境的weblogic.xml,将首选项-->java-->installed JREs中配置的jdk的路径由C:\bea9\jdk150_12改成C:\bea9\jrockit_150_12就行了。

 

servlet2.3


http://java.sun.com/dtd/web-app_2_3.dtd">

 

servlet2.4


http://java.sun.com/xml/ns/j2ee
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

 


你可能感兴趣的:(技术天地)