IBM Support

Java Virtual Machine (JVM) Heap Not Releasing Memory

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.

[{"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"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","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}},{"Product":{"code":"SSLKTY","label":"Maximo Asset Management for IT"},"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Component":null,"Platform":[{"code":"","label":"All"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}},{"Product":{"code":"SSWK4A","label":"Maximo Asset Management Essentials"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":null,"Platform":[{"code":"","label":"All"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

M04700

Product Synonym

MAXIMO

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

Manage My Notification Subscriptions