Flashes (Alerts)
Abstract
With Maximo there are certain functions that will create / use Java objects. An issue arises when the objects keep growing faster then garbage collection releases the objects.
Content
With Maximo, there are certain functions that will create and use Java objects in the JVM Heap. Normally, these objects eventually get released by garbage collections.
There are times where the objects will keep growing. When this occurs, garbage collection can't keep up and the JVM Heap will eventually fill up. In the stdout you will see a message Out Of Memory.
Diagnosing
You must be on Maximo 5.2 Patch 3 or higher in order to diagnose this.
If you are on Maximo 5.2 Patch 3+, add the following line to the MXServer.properties file:
mxe.db.fetchResultLogLimit=200
If you are on Maximo 6x, uncomment the following line to the maximo.properties file:
mxe.db.fetchResultLogLimit=200
If you are on Maximo 7x, Set the Global Value in the System Properties application or add the following line to the maximo.properties file:
mxe.db.fetchResultLogLimit=200
Rebuild the maximo.ear file and restart your Maximo Application Server. You will now see a stack trace every time Maximo fetches 200 objects. What you are looking for are fetches that keep growing and keep opening more Java objects. Below is an example that shows 45,600 objects being opened and in the heap (output display will vary with the different versions of Maximo).
Fri Jul 29 09:12:04 EDT 2005 Fetch count so far for WFNOTIFICATION is : 45600
Fri Jul 29 09:12:04 EDT 2005 MboSet Reference = psdi.workflow.WFNotificationSet[RemoteStub [ref: [endpoint:[130.199.76.22:3907](local),objID:[116971]]]]
Fri Jul 29 09:12:04 EDT 2005 Printing StackTrace:
Fri Jul 29 09:12:04 EDT 2005 java.lang.Exception
at psdi.mbo.MboSet.fetchMbos(MboSet.java:1649)
at psdi.mbo.MboSet.getMbo(MboSet.java:1363)
at psdi.mbo.MboSet.copy(MboSet.java:4623)
at psdi.workflow.WFAction.applyWorkflowAction(WFAction.java:43)
at psdi.workflow.WFNode.applyWorkflowAction(WFNode.java:106)
at psdi.workflow.WFCallStackSet.applyWorkflowAction(WFCallStackSet.java:344)
at psdi.workflow.WFCallStackSet.initiateWorkflow(WFCallStackSet.java:228)
at psdi.workflow.WFInstance.initiateWorkflow(WFInstance.java:174)
at psdi.workflow.WFInstanceSet.initiateWorkflow(WFInstanceSet.java:115)
at psdi.mbo.WFMbo.initiateWorkflow(WFMbo.java:85)
at psdi.workflow.virtual.StartWFSet.executeWorkflow(StartWFSet.java:85)
at psdi.jsp.beans.StartWFMboSetBean.executeWorkflow(StartWFMboSetBean.java:22)
at psdi.jsp.common.workflow.Workflow.handleRequest(Workflow.java:265)
at java.lang.reflect.Method.invoke(Native Method)
at psdi.jsptags.HandleRequestTag.doEndTag(HandleRequestTag.java:104)
at jsp_servlet._jsp._common._workflow.__startworkflow._jspService(__startworkflow.java:221)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
In the above example the WFNOTIFICATION object has a very high fetch count. Contact Maximo Support.
Historical Number
M04700
Product Synonym
MAXIMO
Was this topic helpful?
Document Information
More support for:
IBM Maximo Asset Management
Software version:
5.2, 6.0, 6.1, 6.2, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.2.6, 6.2.7, 6.2.8, 7.0, 7.1, 7.1.1, 7.5
Document number:
348123
Modified date:
25 September 2022
UID
swg21263092