weblogic中java.lang.OutOfMemoryError 内存溢出解决方式


一:WebLogic配置问题:
由于WebLogic的配置问题,我们的测试出现了失败情况。原因是为WebLogic分配的内存太少了。通过修改commom/bin/commEnv.cmd文件来增加内存分配。
修改的部分如下:

: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

 

二、造成内存溢出的原因,大数据量的导出,多一次点击导出按钮,导致多次执行查询,内存中超过了十万多条数据,以至于内存溢出,无法连接数据量连接池。

WARN #0553 was active for 319688 milliseconds and has been removed automaticaly. The Thread responsible was named '[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'', and the last SQL it performed is '{ call SEL_CUST_YWYX2 ('0064','20170101','20190331','','','617802',7,'3577','','or','导出',50000,0,?,?,?,?) }; '.

WARN #0549 was active for 307812 milliseconds and has been removed automaticaly. The Thread responsible was named '[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'', and the last SQL it performed is '{ call SEL_CUST_YWYX2 ('0064','20170101','20190331','','','617802',7,'3577','','or','导出',50000,0,?,?,?,?) }; '.

三、解决方案如下:

1、控制按钮,30秒内只能点击一次,防止多次点击;
2、增加JVM内存大小;
3、代码中清除list和map等释放内存空间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值