IBM Support

Collecting Data: Java OutOfMemory errors or JVM abend for IBM Operational Decision Management

Question & Answer


Question

You are encountering OutOfMemory errors or JVM abends while running IBM Operational Decision Manager. What documentation should you collect (MustGather) so that the IBM Operation Decision Manager Support team can diagnose your problem?
If you gather this documentation before contacting support it will expedite the troubleshooting process and save you time.

Answer

To diagnose what it is occurring, IBM will need the following documentation:
  1. Heap and/or system core dump generated*
  2. Javacore dump generated
  3. Verbose GC data
  4. ODM/Application Server logs
*System core dumps (*.dmp) are usually preferred over heap dumps since they contain more information than a heap dump (*.phd). However, they are also more likely to be truncated or corrupted. So please send both types of dumps (*.phd and *.dmp) if they are available. 
The location and name of  #1-#3 will depend on the Application Server/JDK you are running and your system settings. See below for assistance in locating these files. 

Locating the Requested Data

Websphere Application Server with IBM JDK

By default:
  • heap dumps are written to the <WAS_HOME>\profile\<PROFILE_NAME> directory and will have the file extension .phd
  • system core dumps are written to <WAS_HOME>\profile\<PROFILE_NAME> directory and will have the file extension .dmp
  • javacore dumps are written to <WAS_HOME>\profile\<PROFILE_NAME> directory and will follow the pattern javacore*.txt
  • verbose GC output is written to <WAS_HOME>\profile\<PROFILE_NAME>\logs\native_stderr.log
  • Log files under <WAS_HOME>\profile\<PROFILE_NAME>\logs
It is very common for system core dumps to be truncated. To prevent this, please review Generating System Cores on OutOfMemory Errors.
Websphere Liberty with IBM JDK
By default:
  • heap dumps are written to the <LIBERTY_HOME>\usr\servers\<SERVER_NAME> directory and will have the file extension .phd
  • system core dumps are written to <LIBERTY_HOME>\usr\servers\<SERVER_NAME> directory and will have the file extension .dmp
  • javacore dumps are written to <LIBERTY_HOME>\usr\servers\<SERVER_NAME> directory and will follow the pattern javacore*.txt
  • verbose GC output is written to <LIBERTY_HOME>\usr\servers\<PROFILE_NAME>\logs\console.log
  • messages.log file located under <LIBERTY_HOME>\usr\servers\<PROFILE_NAME>\logs\messages.log
If you do not have verbose GC enabled, refer to the "Customize JVM options by using jvm.options files" section of the Customizing the Liberty environment in the Knowledge Center. 
It is very common for system core dumps to be truncated. To prevent this, please review Generating System Cores on OutOfMemory Errors.
Websphere Liberty with non-IBM JDK
  • heap dumps are written to the <LIBERTY_HOME>\usr\servers\<SERVER_NAME> directory. If you are using a HotSpot JVM the file extension  will be .hprof. 
  • javacore dumps are written to <LIBERTY_HOME>\usr\servers\<SERVER_NAME>\logs\console.log
  • verbose GC will be written to the location specified by the -Xloggc JVM parameter. 
  • messages.log file located under <LIBERTY_HOME>\usr\servers\<PROFILE_NAME>\logs\messages.log
If you do not have verbose GC enabled, refer to the "Customize JVM options by using jvm.options files" section of the Customizing the Liberty environment in the Knowledge Center. 
Apache Tomcat with IBM JDK
  • heap dumps are written to the JVM's working directory and will have the file extension .phd
  • system core dumps are written to the JVM's working directory and will have the file extension .dmp
  • javacore dumps are written to the JVM's working directory and will follow the pattern javacore*.txt
  • verbose GC will be written to the location specified by the -Xloggc JVM parameter. (This is defined in the setenv.sh file)
If verbose GC is not enabled add the -verbose:gc and -Xloggc:<filename> to the Java options. 

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSQP76","label":"IBM Operational Decision Manager"},"ARM Category":[{"code":"a8m50000000CcolAAC","label":"Installation and configuration"}],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
27 May 2020

UID

ibm16198853