WebLogic 报out of memory

问题描述

2台服务器1台放ejb(weblogic部署)1台放应用(非web)应用是一个多线程发送邮件的程序现在出现一个问题就是从数据库获取某些运营商如(test.com)数据时会出现下面的错误在ejb服务器上可以看到被此处调用的sql语句返回记录集结果为0而且后台没有任何报错而其它运营商(163.com)调用ejb后可以返回最多200条数据反而没有报这个错我们一共设置取9个运营商每个运营商都是一个线程启动单独取对应数据我们另外还有2台服务器部署和上面2台一样,但对应的数据库中数据比较少,不管什么类型运营商都不会报这个错目前查看数据库各类运营商最多的也就10万条记录最少的几千条记录但我们的取数sql是有条数限制的每次<200条错误如下:这个错误是从放应用服务器的日志中看到的ERROR]2009-03-2714:18:38smtp.thread.GetEmailThread-获取新Mail失败:;nestedexceptionis:weblogic.utils.NestedException-withnestedexception:[java.lang.OutOfMemoryError]weblogic.rjvm.PeerGoneException:;nestedexceptionis:weblogic.utils.NestedException-withnestedexception:[java.lang.OutOfMemoryError]atweblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)atweblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)atweblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)atcore.ejb.gwData_6xfme4_EOImpl_815_WLStub.searchMessage(UnknownSource)atsmtp.ejb.EJBClient.getSendMessage(EJBClient.java:143)atsmtp.thread.GetEmailThread.getEmail(GetEmailThread.java:515)atsmtp.thread.GetEmailThread.doGetEmail(GetEmailThread.java:222)atsmtp.thread.GetEmailThread.run(GetEmailThread.java:174)Causedby:weblogic.utils.NestedException-withnestedexception:[java.lang.OutOfMemoryError]atweblogic.rjvm.RJVMImpl.gotExceptionReceiving(RJVMImpl.java:817)atweblogic.rjvm.ConnectionManager.gotExceptionReceiving(ConnectionManager.java:919)atweblogic.rjvm.t3.T3JVMConnection.hasException(T3JVMConnection.java:829)atweblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:565)atweblogic.socket.SocketMuxer.deliverHasException(SocketMuxer.java:521)atweblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:303)atweblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)atweblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)atweblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)大家帮忙看看会是什么原因?

解决方案

解决方案二:
我们之前在测试环境的机器上做过压力测试程序连续跑每天最多发送36万封邮件没有任何问题程序导致内存泄漏可能性不大关键我们这个问题是在正式环境机器上刚开始运行就抛出来的
解决方案三:
可可能是程序本身的bug如果确定数据量不大的话是不是什么地方出现死循环倒是内存溢出了呢
解决方案四:
生成HeapDump去分析一下看什么东西在里面还有分析GC的过程是否有异常数据库是否返回巨大的ResultSet导致?
解决方案五:
什么操作系统呢?那个虚拟机?
解决方案六:
会不会在生产上空间占用过多

时间: 2024-12-13 11:08:53

WebLogic 报out of memory的相关文章

el weblogic 报错 tomcat没报错

问题描述 el weblogic 报错 tomcat没报错 这句 weblogic 报这个错 tomcat没报错 解决方案 你用的是WebLogic10吧这个是EL写的不规范造成的 根据你抛的异常来看是在 (附近有语法错误 所以检查一下你的EL中是不是出现如下三种情况,第二种可能性比较大.1,三元运算符${a==b?xxx:yyy}需要加入括号手动处理运算优先级${a==b?(xxx):(yyy)}2,用EL取某个List的size();对于${xxxxList.size()} WebLogic

weblogic报错:Couldn&amp;#039;t initialize OracleLobHandler,有谁遇到过吗?

问题描述 之前的war包都运行的好好的,可最近忽然weblogic报出这样的错误:org.springframework.dao.DataAccessResourceFailureException: Could not create Oracle LOB; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Couldn't initialize OracleLobHandler bec

在linux下的weblogic报错,但是 在window下的tomcat不报错!!十万火急!

问题描述 对URL参数加密之后再重定向跳转的时候就报错了!报错信息SecurityHelper类packagecom.huarun;importjava.security.*;importjavax.crypto.*;importjavax.crypto.spec.*;publicclassSecurityHelper{privatefinalstaticintITERATIONS=20;publicstaticStringencrypt(Stringkey,StringplainText)th

请大家看看weblogic报错是怎么回事,急呀!

问题描述 ERROR(QueryAction.java:127)-[exception]javax.servlet.ServletException:weblogic.servlet.jsp.CompilationException:FailedtocompileJSP/jsp/formJSP/FreedomFormBody.jspFreedomFormBody.jsp:34:3:Thistypenameisambiguousbecauseitmatchesmorethanone'*'-impo

weblogic报错,急

问题描述 用控制台启动集成服务是可以正常启动,但是编辑启动命令启动时报错:startstartManagedWebLogic.cmdUIPhttp://127.0.0.1:7003错误:<2013-4-19上午07时56分26秒GMT><Error><ConfigurationManagement><BEA-150000><Anerroroccurredwhileestablishingaconnectionbacktotheadminstration

redis数据库报错 overcommit memory (oom) 问题解决

一,什么是overcommit or oom问题 Linux对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序.因为申请内存后,并不会马上使用内存.这种技术叫做Overcommit.当linux发现内存不足时,会发生OOM killer(OOM=out-of-memory).它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存. 当oom-killer发生时,linux会选择杀死哪些进程?选择进程的函数是oom_badness函数(在mm/oom_kill.c中)

weblogic部署时fckeditor报错,tomcat下正常

问题描述 weblogic部署时fckeditor报错,tomcat下正常 解决方案 Tomcat部署项目时启动报错总结tomcat 部署项目时的报错(一)实现webservice客户端后在tomcat下运行正常,部署到weblogic报错

暂时解决weblogic 的 permGen out of memory错误

项目大了以后开发环境频繁deploy会导致weblogic报permGen 错误,查了一下,暂时解决的办法是: 在weblogic/common/bin/commEnv.sh中配置 MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m" -Xms:内存初始值 -Xmx:内存最大值(不要超过内存的80%) MaxPermSize:PermGen(Class和Meta存放区域)区域内存最大值. 可调整为: MEM_ARGS="-Xms51

启动myeclipse报错-启动MyEclipse报错启动MyEclipse报错

问题描述 启动MyEclipse报错启动MyEclipse报错 之前装的是myeclipse 8.5的版本,手动卸载之后,再装myeclipse 10,总是会新建一个8.5的文件夹,然后里面是common文件夹和配置文件夹,网上的说法是myeclipse新版本会共享老版本的common文件,所以才新建的那个文件夹,但是我并不想留这个8.5的文件夹,所以把里面的东西都拷贝到了10下面,然后把config.ini和myeclipse.ini里面之前配置是8.5路径下的相应的改成了10路径下的,然后启