- 论坛徽章:
- 0
|
我们有3台小型机,两台是旧的IBM F80,一台是新的IBM P650,操作系统都是AIX,每台机器上都建了两个Server,一个是Web服务专门发布Web application和Struts前台服务,另外一个是Server服务,专门发布EJB功能模块,自从后台Server做了集群之后,系统出现以下问题:
(1) 当其中一台比较差的服务器由于负荷不起,CPU使用率一段时间处于98%~100%状态,奇怪的是其他两台机器都好象停止了工作,一直在等待,直到那台服务器出现了java.lang.OutOfMemoryError 内存溢出异常,事务处理失败后,其他机器也恢复正常?
(2) 当BEA服务出现了java.lang.OutOfMemoryError异常后,接下来还可以正常工作吗?我记得在WINDOWS平台下,就无法继续工作了,必须重启服务,但是我见在Unix系统下,好象还可以继续工作的?
(3) 请问BEA启动时分配的内存最大限额是多大?现在我们系统的硬件配置是4CPU,8G内存,BEA分配的是:WEB SEVER 512M,EJB SERVER 768M,我看了下,有关资料说AIX系统下BEA最大的内存分配额是10G,是否分配内存越大越好?会不会对BEA的垃圾回收有影响,造成性能下降?建议最好的分配资源应该是多少?
下面是具体异常报告:
java.lang.OutOfMemoryError:
Start server side stack trace:
java.lang.OutOfMemoryError
End server side stack trace
at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java(Compiled Code))
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java(Compiled Code))
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java(Compiled Code))
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java(Compiled Code))
1......116001
at cn.com.ebis.commons.query.command.ListAllQueryCmd.execute(ListAllQueryCmd.java(Compiled Code))
at cn.com.ebis.commons.query.command.ListAllQueryCmd.execute(ListAllQueryCmd.java(Compiled Code))
at cn.com.ebis.commons.query.action.ExecuteQueryAction.performIt(ExecuteQueryAction.java(Compiled Code))
at cn.com.ebis.struts.action.NoClsActionBase.perform(NoClsActionBase.java(Compiled Code))
at org.apache.struts.action.ActionServlet.process(ActionServlet.java(Compiled Code))
at org.apache.struts.action.ActionServlet.process(ActionServlet.java(Compiled Code))
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java(Compiled Code))
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled Code))
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled Code))
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java(Compiled Code))
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
[java.lang.OutOfMemoryError:
Start server side stack trace:
java.lang.OutOfMemoryError
End server side stack trace
]
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java(Compiled Code))
at cn.com.ebis.commons.query.command.ListAllQueryCmd.execute(ListAllQueryCmd.java(Compiled Code))
at cn.com.ebis.commons.query.command.ListAllQueryCmd.execute(ListAllQueryCmd.java(Compiled Code))
at cn.com.ebis.commons.query.action.ExecuteQueryAction.performIt(ExecuteQueryAction.java(Compiled Code))
at cn.com.ebis.struts.action.NoClsActionBase.perform(NoClsActionBase.java(Compiled Code))
at org.apache.struts.action.ActionServlet.process(ActionServlet.java(Compiled Code))
at org.apache.struts.action.ActionServlet.process(ActionServlet.java(Compiled Code))
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java(Compiled Code))
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled Code))
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled Code))
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java(Compiled Code))
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
java.rmi.RemoteException: EJB Exception: ; nested exception is:
java.lang.OutOfMemoryError:
Start server side stack trace:
java.lang.OutOfMemoryError
End server side stack trace
weblogic.rjvm.PeerGoneException: ; nested exception is:
java.io.EOFException
java.io.EOFException
at weblogic.rjvm.t3.T3JVMConnection.endOfStream(T3JVMConnection.java:769)
sIndex = 75
0
at weblogic.socket.PosixSocketMuxer.deliverGoodNews(PosixSocketMuxer.java(Compiled Code))
at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:662)
javax.servlet.jsp.JspException |
|