maximo在WAS上的奇怪的OutOfMemoryError问题
来源:互联网 发布:npc外观算法 编辑:程序博客网 时间:2024/04/27 23:20
星期天加班,下午在修改用户需求的时候突然客户打来电话说发现maximo登录不了了。我登录WAS控制台查看maximo服务,显示的是运行的箭头标志,应该可以登录的,sqlplus连数据库也能连上的。当时也没多想,只以为是系统运行太久了,重启一下服务就行,所以在websphere中将服务停止后再启动。操作中发现停止服务的时提示了服务未启动,但界面上maximo服务还是显示的是运行的箭头标志而非停止的*标志。但我并未对这个引起重视,而是又选择了启动服务操作。maximo服务很快启动好了,登录速度也很快,ok,问题解决了,我又忙其他的了。
但很快客户又打电话来说服务又等不上去了,这下我有点晕了。自己尝试登录maximo不行,再次登录WAS控制台查看maximo服务,还是显示运行的箭头标志。我又一次重启maximo服务以后,又可以登录maximo。但很快我就发现maximo又使用不了。
查看c$/IBM/WebSphere/AppServer/profiles/Custom01/logs/MAXIMOSERVER/SystemErr.log,提示下面错误:
[07-11-18 13:37:21:688 CST] 0000003b SystemErrR java.lang.OutOfMemoryError
at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java(Compiled Code))
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java(Compiled Code))
at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java(Compiled Code))
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java(Compiled Code))
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java(Compiled Code))
at psdi.mbo.MboSet.getNextRecordData(MboSet.java(Compiled Code))
at psdi.mbo.MboSet.fetchMbos(MboSet.java(Compiled Code))
at psdi.mbo.MboSet.getMbo(MboSet.java(Compiled Code))
at psdi.app.workorder.virtual.ChildrenSet.fetchMbosOriginal(ChildrenSet.java(Compiled Code))
at psdi.app.workorder.virtual.ChildrenSet.fetchMbos(ChildrenSet.java(Compiled Code))
at psdi.mbo.FauxMboSet.getMbo(FauxMboSet.java(Compiled Code))
at psdi.mbo.FauxMboSet.count(FauxMboSet.java(Inlined Compiled Code))
at psdi.mbo.FauxMboSet.count(FauxMboSet.java(Compiled Code))
at psdi.webclient.beans.pssolutions.primavera.PVWOAppBean.getDescendant(PVWOAppBean.java(Compiled Code))
at psdi.webclient.beans.pssolutions.primavera.PVWOAppBean.getDescendant(PVWOAppBean.java(Compiled Code))
at psdi.webclient.beans.pssolutions.primavera.PVWOAppBean.getDescendant(PVWOAppBean.java(Compiled Code))
at psdi.webclient.beans.pssolutions.primavera.PVWOAppBean.filterWOForGoupExport(PVWOAppBean.java:2912)
at psdi.webclient.beans.pssolutions.primavera.PVWOAppBean.pvupdate(PVWOAppBean.java:1203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at psdi.webclient.system.tags.DefaultHandlerTag.doStartTag(DefaultHandlerTag.java(Compiled Code))
at com.ibm._jsp._control._jspx_meth_mro_defaulthandler_0(_control.java:2771)
at com.ibm._jsp._control._jspService(_control.java:2079)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java(Inlined Compiled Code))
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java(Compiled Code))
at psdi.webclient.system.controller.ControlHandler.handleEvent(ControlHandler.java(Compiled Code))
at psdi.webclient.system.controller.RequestHandler.handleEvent(RequestHandler.java:668)
at psdi.webclient.system.controller.RequestHandler.handleRequest(RequestHandler.java:243)
at psdi.webclient.servlet.WebClientServlet.handleRequest(WebClientServlet.java:81)
at psdi.webclient.servlet.WebClientServlet.doPost(WebClientServlet.java:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1924)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:98)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
查看maximov.log,什么错误也没报,但发现maximo在短时间里启动了好几次。见鬼了,我上午还好好的,也没做什么修改,就调整了一下界面而已。同时WAS生成n多heapdump和javacore文件(c$/IBM/WebSphere/AppServer/profiles/Custom01)
我终于感觉到不妙了。我试着将应用服务器重启,问题依旧存在。因为公司其他几个项目也碰到过OutOfMemoryError问题都是通过调整优化中间件或数据库参数处理的或打maximo补丁,所以我也没想过其他方面,先试着从调整优化参数上着手。
先试着调整WAS 应用程序服务器 > MAXIMOSERVER > 进程定义 > Java 虚拟机 的初始堆大小 为1024,最大堆大小 1024。然后重启WAS。问题依旧。然后又调整了数据库的一些参数,还是一样的问题。
我终于有点崩溃了,难不成我得向客户提出提升服务器硬件性能?不行,我还得再试试。我将maximo应用程序连接测试数据库,运行一段时间,没有问题。恩,看来还是数据库应用服务器问题。
然后我又拿测试应用程序连接数据库服务器,果然发生同样的问题。好,总算找到问题所在了。我试着重启了数据库服务,然后用再试,还是有问题,然道是服务器性能的问题?可是客户这边是最近几个月刚换的数据库服务器,性能非常好,而且已经用了这么久,一直也没发生什么问题啊。所以我开始一步一步清除今天修改的东西,终于发现了,原来是我在工单跟踪中,在计划页面的物料列表中加了个可用数量显示,就是显示当前物料的可用数量(INVENTORY.AVBLBALANCE),将这个字段在界面删除就没问题了。
真晕,竟然会因为在界面上的修改而引起OutOfMemoryError,真不明白,我在测试应用程序中增加这个显示都没问题。
- maximo在WAS上的奇怪的OutOfMemoryError问题
- THINKPHP3.2在MAC上出现的奇怪问题
- WAS上日志的问题
- WAS环境下解决奇怪的中文乱码问题
- JDE4.6上奇怪的timer问题
- 处理Maximo序列不一致的问题
- 在mybatis中遇到奇怪的问题
- jquery-mobile在VPN的奇怪问题
- 在Tomcat上运行Web程序时遇到的一个奇怪问题.
- was中奇怪的生僻字乱码案例
- # 在Linux下的was服务器上部署web应用遇到问题
- 关于maximo的安装
- Maximo的学习
- 良好的maximo注释
- 奇怪的malloc问题!
- 奇怪的编译问题
- 奇怪的问题。
- 又一奇怪的问题?
- NT主要内核结构 windows vista
- 转载:任意移动一个控件
- QQ尾巴+社会工程学+第三方ActiveX插件漏洞=隐藏的危险
- JAVA基础知识--面试题集
- 用Nmap为Windows网络查找漏洞
- maximo在WAS上的奇怪的OutOfMemoryError问题
- java基础学习笔记原始类型变量赋值与非原始变量赋值
- HP面试题总结(六)
- 求助
- HP面试题总结(五)
- enum学习
- DSP下面printf串口输出的实现
- HP面试题总结(二)
- 如何快速算出一个日期是星期几