Troubleshooting
Problem
Collecting data for Out of Memory errors with IBM® WebSphere® Application Server on the Solaris platform. Gathering this MustGather information before calling IBM Support will help familiarize you with the troubleshooting process and save you time.
Resolving The Problem
An Out of Memory error is generally indicated when a java.lang.OutofMemoryError is thrown.
If making configuration changes does not resolve the problem, and a Java heap leak is still present, collect Heapdumps, following instructions in Getting Heapdumps on Solaris platform
Note: Heapdumps can be analyzed using the IBM-developed HeapAnalyzer tool.
Collect the following information:
For a listing of all technotes, downloads, and educational materials specific to the Out of Memory component, search the WebSphere Application Server support site.
Related information
Submitting information to IBM support
Steps to getting support for WebSphere Application Server
MustGather: Read first for WebSphere Application Server
Troubleshooting guide for WebSphere Application Server
Java HotSpot VM Options
MustGather: Out of Memory errors on Solaris - Native Leak
Out of Memory (heap leak) specific MustGather information Debugging the Java virtual machine (JVM) that is running out of Java heap. If you suspect a memory leak in the Java™ heap, the first step is to eliminate any misconfiguration or tuning as a potential cause: |
- Increase the Maximum Java Heap Value (-Xmx) and test again.
- Follow instructions for Enabling verbosegc in WebSphere Application Server
Ensure that the heap generations (NEW and PERM) are sized appropriately. Default values for MaxPermSize (Permanent Region) are often insufficient for applications. The Permanent Region holds class data and other very long lived resources. MaxPermSize (default 64MB) should be set to a quarter of max heap.
For example:
-XX:MaxPermSize=128m (32bit)
-XX:MaxPermSize=512m (64bit)
MaxNewSize, the Young generation is intended for short-lived objects where Java objects are created and age, from where they are collected without a Full garbage collection (GC) cycle. Young Generation (default 32MB) of the heap should be set to a quarter of max heap size.
For example:
-XX:MaxNewSize=128m (32bit)
-XX:MaxNewSize=512m (64bit)
- Run in HotSpot Server mode (-server). Running in HotSpot client mode halves the size of the Permanent Region and therefore increases the stress on this part of the heap in the Sun JVM.
- Another way applications can interact with garbage collection (GC) is by invoking GCs explicitly, such as through the System.gc call. These calls force major collection, and inhibit scalability on large systems. The best practice is to avoid calling System.gc calls and let the Java do it's work. See the Explicit Garbage Collection (System.gc, Runtime.gc) section in this
IBM WebSphere Application Server Performance Cookbook for more details.
- Switch to the Alternate Threading Library. The Solaris 8 operating environment supports an alternate version of libthread that binds threads to LWPs directly; this might help avoid starvation of the finalization thread. To try this, set the environment variable LD_LIBRARY_PATH to include /usr/lib/lwp before launching the JVM.
- Stop the WebSphere application Server and recycle the logs
- Restart the application server.
- Run the application until java.lang.OutOfMemory exceptions occur.
If making configuration changes does not resolve the problem, and a Java heap leak is still present, collect Heapdumps, following instructions in Getting Heapdumps on Solaris platform
Note: Heapdumps can be analyzed using the IBM-developed HeapAnalyzer tool.
Collect the following information:
- For WebSphere V6.0 through V8.x:
- All files in the following directory:
install_root/profiles/profile_name/logs/server_name - A copy of server.xml located in the following directory:
install_root/profiles/profile_name/config/cells/cell_name/nodes/node_name/servers/server_name - For WebSphere Application Server V5.1:
- Include all of the files from the following directory:
install_root/logs/server_name - A copy of server.xml located in the following directory:
install_root/config/cells/cell_name/nodes/node_name/servers/server_name
For a listing of all technotes, downloads, and educational materials specific to the Out of Memory component, search the WebSphere Application Server support site.
Related information
Submitting information to IBM support
Steps to getting support for WebSphere Application Server
MustGather: Read first for WebSphere Application Server
Troubleshooting guide for WebSphere Application Server
Java HotSpot VM Options
MustGather: Out of Memory errors on Solaris - Native Leak
Related Information
[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Out of Memory","Platform":[{"code":"PF027","label":"Solaris"}],"Version":"9.0;8.5.5;8.5;8.0;7.0","Edition":"Base;Express;Network Deployment","Line of Business":{"code":"LOB36","label":"IBM Automation"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}},{"Product":{"code":"SS7JFU","label":"WebSphere Application Server - Express"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":null,"Platform":[{"code":"PF027","label":"Solaris"}],"Version":"6.1;6.0;5.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Was this topic helpful?
Document Information
Modified date:
13 February 2020
UID
swg21145349