weblogic内存配置

在部署或启动项目时报错:java.lang.OutOfMemoryError: PermGen space

(自己遇到,则只需要修改setDomainEnv.cmd(linux下面就是setDomainEnv.sh了)文件即可,

     启动域服务执行startWebLogic.cmd,startWebLogic.cmd内部调用执行(call)setDomainEnv.cmd,setDomainEnv.cmd内部配置内存信息


一般在domain启动过程中会看到以下启动的日志信息,如下图所示:


图中红色方框部分为启动weblogic domain的命令。其中包括了jvm参数以及classpath信息。

java -client是由于之前建立的domain是开发模式的。生产模式的话,这里执行的是java -server。



一:WebLogic配置问题:
 由于WebLogic的配置问题,我们的测试出现了失败情况。原因是为WebLogic分配的内存太少了。通过修改commom/bin/commEnv.cmd文件来增加内存分配。
 修改的部分如下:
:bea
if "%PRODUCTION_MODE%" == "true" goto bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m//原来是128M~256M,太小了,数据太大
goto continue

 结果修改后,没有效果。还是有失败的情况。
 发现,原来,在:bea下面还有一段配置信息如下:

:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
goto continue


 将这里的内存分配修改后见效。
 原因是,上面对第一段代码是为bea自己的JVM设置的,下面的是为Sun的设置的。而WebLogic默认的是Sun的,所以出了毛病。

 

二,domain中的相关配置:

  1,修改bea/user_projects/domains/base_domain/bin/setDomainEnv.cmd(linux下面就是setDomainEnv.sh了)文件.

  2,修改如下几个位置:以下蓝色部分是需修改的内存大小

 

     set MEM_ARGS=-Xms256m -Xmx512m   @最主要将这两个值改大,这是此域启动后,虚拟机可使用的内存

 

     if "%JAVA_VENDOR%"=="Sun" (           @使用sun服务器开发模式下的JVM配置
         if "%PRODUCTION_MODE%"=="" (
              set MEM_DEV_ARGS=-XX:CompileThreshold=8000 -XX:PermSize=48
          )
      )

 

    if "%JAVA_VENDOR%"=="Sun" (            @使用sun服务器生产模式下的JVM配置
           set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% -XX:MaxPermSize=128m
    )

   if "%JAVA_VENDOR%"=="HP" (               @使用hp服务器生产模式下的JVM配置
        set MEM_ARGS=%MEM_ARGS% -XX:MaxPermSize=128m
   )

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值