Out of Memory issues

Prepare the following MustGather information before you call HCL Support to help with Out of Memory (OOM) errors.

About this task

It is essential to understand the relationship between container size and heap size. Java programs require two parts of memory: JVM heap and Native heap, specifically the memory used for the JVM management program rather than Java application code. The total physical memory required for HCL Commerce containers is the sum of the two parts. In traditional WebSphere Application Server, the JVM will set its heap size to match the container size, whereas Liberty sizes itself.

  1. Verbose garbage collection verboseGC should be enabled by default in both traditional WebSphere and Liberty
  2. IBM Java 8 JRE default action is to automatically generate a single core .*dmp file from first OOM error along with heapdump and javacores. Subsequent OOM errors from the same (Proportional, Integral, and Derivative terms (PID)) will cause the Java Runtime Environment (JRE) to automatically generate heapdumps and javacores only.
  3. Collect the following files.
    Note: Default helm chart will create a folder for cores unless it has been changed to a different location.
    • In the Transaction server Docker container:
      • /opt/WebSphere/AppServer/profiles/default/cores/container/(containerName)/core*.dmp
      • /opt/WebSphere/AppServer/profiles/default/cores/container/(containerName)/heapdump*.phd
      • /opt/WebSphere/AppServer/profiles/default/cores/container/(containerName)/javacore*.txt
      • /opt/WebSphere/AppServer/profiles/default/logs/container/(containerName)server1/*.log
    • In the Search server Docker container, Store server Docker container, Customization server Docker container:
      • /opt/WebSphere/Liberty/usr/servers/default/logs/container/(containerName)/core*.dmp
      • /opt/WebSphere/Liberty/usr/servers/default/logs/container/(containerName)/heapdump*.phd
      • /opt/WebSphere/Liberty/usr/servers/default/logs/container/(containerName)/javacore*.txt
      • /opt/WebSphere/Liberty/usr/servers/default/logs/container/(containerName)/messages.log
      • /opt/WebSphere/Liberty/usr/servers/default/logs/container/(containerName/console.log