|
Problem(Abstract) |
MustGather for troubleshooting WebSphere® Application
Server java.lang.OutOfMemoryError errors on the Windows® platform when you
suspect a memory leak in the Java™ heap. Base this action on your analysis
of the documentation collected from the technote "MustGather: Out of
Memory Errors on Windows, Part 1" |
|
|
|
Resolving the
problem |
This is the second step in gathering troubleshooting data
when there is evidence of a memory leak. MustGather:
Out of Memory exceptions on Windows, Part 1 is a prerequisite, since
it helps you decide if this technote is necessary.
If you already contacted support, continue to the component-specific
MustGather information. Otherwise, click the following link: MustGather:
Read first for all WebSphere Application Server products.
Out of Memory (Java heap) specific MustGather information
Set up for enabling heap dump file generation:
- For releases of V6.0:
- To set the Environment Entries from the administrative console,
select the following:
Servers > Application Servers > server_name
> Java and Process Management > Process Definition >
Environment Entries > New
- Add the following Name and Value pairs:
IBM_HEAPDUMP |
true |
IBM_HEAP_DUMP |
true |
IBM_HEAPDUMPDIR |
your_directory |
IBM_HEAPDUMP_OUTOFMEMORY |
true |
IBM_JAVADUMP_OUTOFMEMORY |
true |
IBM_JAVA_HEAPDUMP_TEXT |
true |
3. Make sure that you save changes to the master configuration.
- For release V5.1.1:
- To set the Environment Entries from the administrative console,
select the following:
Servers > Application Servers > server_name
> Process Definition > Environment Entries > New
- Add the following Name and Value pairs:
IBM_HEAPDUMP |
true |
IBM_HEAP_DUMP |
true |
IBM_HEAPDUMPDIR |
your_directory |
IBM_HEAPDUMP_OUTOFMEMORY |
true |
IBM_JAVADUMP_OUTOFMEMORY |
true |
IBM_JAVA_HEAPDUMP_TEXT |
true |
|
 |
- Make sure that you save changes to the master configuration.
For releases of V5.0 and V5.1.0:
- To set the Environment Entries from the administrative console,
select the following:
Servers > Application Servers > server_name
> Process Definition > Environment Entries > New
- Add the following Name and Value pairs:
IBM_HEAPDUMP |
true |
IBM_HEAP_DUMP |
true |
IBM_HEAPDUMPDIR |
your_directory |
IBM_HEAPDUMP_OUTOFMEMORY |
true |
IBM_JAVADUMP_OUTOFMEMORY |
true |
|
 |
- Make sure that you save changes to the master configuration.
- For releases of V4.0:
- To enable the heap dump, add the following lines to the top of the
adminserver.bat file in the
install_root/bin directory, after the call to
setupCmdLine.bat:
call "%~dp0setupCmdLine.bat"
set IBM_HEAPDUMP=true
set IBM_HEAP_DUMP=true
set IBM_HEAPDUMP_OUTOFMEMORY=true
set IBM_JAVADUMP_OUTOFMEMORY=true
set IBM_HEAPDUMPDIR=directory_path |
|
- When you start the administrative server, use the modified
adminserver.bat file from a command prompt instead of using the
Services panel.
- For releases of V3.5:
- To enable the heap dump, add the following lines to the
adminserver.bat file in the
install_root/bin/debug directory, after the call
to setupCmdLine.bat:
call "%~dp0setupCmdLine.bat"
set IBM_HEAPDUMP=true
set IBM_HEAP_DUMP=true
set IBM_HEAPDUMP_OUTOFMEMORY=true
set IBM_JAVADUMP_OUTOFMEMORY=true
set IBM_HEAPDUMPDIR=directory_path |
|
- When you start the administration server, use the modified
adminserver.bat file from a command prompt instead of using the
Services panel.
- Notes:
- The heap dump is written to the current directory,
install_root/bin, or the directory specified by
the IBM_HEAPDUMPDIR environment variable.
- The file that is generated is called
heapdumppid.time in internal format txt. This file can be very
large; allow for at least the maximum heap size. If the maximum heap is
set to 512 MB, allow for .5 GB for the dump.
- Any version of WebSphere Application Server that is
using the IBM JDK 1.3.1 SR5 or higher, and 1.4.X, will automatically
generate heapdump and javacore files on an OutOfMemory condition. Adding
the additional parameters will give you the option to manually generate
heapdumps and also specify the directory in which to write the heapdump
files. To manually generate heapdumps you will need to issue the WSADMIN
command to generate javacore*.txt file. This will also produce a
heapdump*.txt file.
When failure occurs:
- This mechanism uses the same signal handler as javacore processing, so
do not have DISABLE_JAVADUMP set as an environment variable.
- Follow instructions on enabling verbosegc in WebSphere Application Server.
- Delete all Application Server and FFDC log files, if possible. Back
them up, if needed.
- Restart the Application Server.
- Wait for the OutOfMemoryError condition to occur. This should cause
the generation of a heapdump.
- If you want to analyze the heapdump yourself, follow instructions to
use IBM
HeapAnalyzer tool for analyzing JVM heap usage. If you do not want to
analyze this yourself, proceed to step 8.
- Collect the following files:
- For releases of V6.0:
- The server.xml file located in the following
directory:
install_root\profiles\profile_name\config\cells\
cell_name\nodes\node_name\servers\server_name |
|
- Everything in the following directory:
install_root\profiles\profile_name\logs\server_name |
Specifically, the following logs are needed:
- systemErr
- systemOut
- native_stderr
- native_stdout
- heapdump*.txt or heapdump*.phd
- javacore*.txt
|
- Everything in the following directory:
install_root\profiles\profile_name\logs\ffdc |
|
- All documents requested For all releases below.
- For releases of V5.0 and V5.1:
- The server.xml file located in the following
directory:
install_root\config\cells\nodes\node_name\servers\server_name |
Specifically, the following logs are needed:
- systemErr
- systemOut
- native_stderr
- native_stdout
- heapdump*.txt or heapdump*.phd
- javacore*.txt
|
- Everything from the following directory:
install_root\logs\server_name |
|
- Everything from the following directory:
- All documents requested For all releases below.
- For releases of V4.0 and V3.5:
- A XMLConfig full export.
- Everything from the following directory:
install_root\logs |
Specifically, the following log files are needed:
- stderr
- stdout
- tracefile
- heapdump*.txt
- javacore*.txt
|
- All documents requested For all releases below.
- For all releases
- All javacore*.txt files that were created when
OutOfMemory conditions occurred. If javacore*.txt files were
created, you can find them in the install_root,
install_root\bin or in the configured working
directory.
- Include the Application Server systemErr, systemOut,
native_stderr, and native_stdout logs, if they are located in a different
directory.
- List of all other software and version information on
the system. For example, any databases, WebSphere MQ®, and so forth.
- Follow instructions to send
diagnostic information to IBM support.
Notes:
- JVM heap dump generation on OutOfMemory are enabled by
default startng from IBM JDK 1.3.1 SR5 and in all of the IBM JDK 1.4.X
releases. However, IBM recommends that you enable JVM HeapDumps settings
for all IBM JDK releases so that you can control where JVM heap dump is
written.
- For a listing of all technotes, downloads, and educational
materials specific to the Out of Memory component, search the WebSphere
Application Server support site.
|
|
|
|