IBM Support

Out of Memory Error in Maximo 7.5

Technical Blog Post


Out of Memory Error in Maximo 7.5


Out of Memory condition could occur when deploying ear file in Websphere console or when running Maximo 7.5

Additional configuration from Websphere is needed to avoid getting error: java.lang.OutOfMemoryError: Java heap space in the log.


Open the WebSphere Application Server administration site by typing http://hostname:port/ibm/console.

The port is the number of the HTTP administrative port, which is 9060 by default. Type an ID (any ID without a password) and log in to it.

Select Servers > Application servers > server1 > Java and Process Management > Process Definition > Java Virtual Machine

For 64-bit systems minimum/maximum can be set to 4096/4096

32-bit Windows minimum/maximum = 1280/1280
32-bit Linux and Unix minimum/maximum = 2048/2048

websphere console



Select the Verbose garbage collection checkbox

Enter the following in the Generic JVM arguments field

Enter the following values in the Generic JVM arguments field, using a
space between each argument:
-Dsun.rmi.dgc.ackTimeout=10000 # for Windows
-Xmn320m # -Xmn320m for 32-bit JVM, -Xmn1024m for 64-bit JVM
-Xlp64k # AIX


Below is an example of JVM arguments (for 32-bit windows environment) to support the recommended initial/max heap size of 2048m:

-Xgcpolicy:gencon -Xmn512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.dgc.ackTimeout=10000

Below is an example of JVM arguments (for 64-bit windows environment) to support the recommended initial/max heap size of 4096m:

-Xgcpolicy:gencon -Xmn1024m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.dgc.ackTimeout=10000


Click Apply and click Save at the top of this page.

Restart WebSphere Application Server.

These JVM settings will be written to the server.xml file in the path below:


    <jvmEntries xmi:id="JavaVirtualMachine_1183122130078" verboseModeClass="false" verboseModeGarbageCollection="true" verboseModeJNI="false" initialHeapSize="1024" maximumHeapSize="1024" runHProf="false" hprofArguments="" debugMode="false" debugArgs="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777" genericJvmArguments="-Dsun.rmi.dgc.ackTimeout=10000" executableJarFileName="" disableJIT="false">
      <systemProperties xmi:id="Property_1" name="" value="off" required="false"/>
      <systemProperties xmi:id="Property_2" name="" value="off" required="false"/>


I found out that by changing my server.xml like above and restart fixed a startup error "JVMJ9GC019E -Xmn too large for –Xms" in the native_stderr.log


Recommended database settings for both Oracle 10g and 11g database:

  • cursor_sharing - We highly recommend that this be set to FORCE for optimal performance in Maximo. Currently, the value is set to EXACT
  • processes - make sure this value is high enough to handle all of the concurrent connections expected to the database. We generally recommend 4000
  • sessions - we generally recommend keeping this the same as processes, e.g. 4000
  • transactions - we recommend this be set to 2425
  • session_cached_cursors - the recommended value is 400
  • session_max_open_files - the recommended value is 300
  • nls_length_semantics - if you use Unicode or double-byte, then you would want to set this value to CHAR





[{"Business Unit":{"code":"BU005","label":"IoT"}, "Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":""}]