Problem (Abstract):. In order to diagnose problems associated with freezing or poor performance of client applications running in WebSphere Application Server Community Edition, users will need to generate various dumps and send them to IBM Diagnostic Support.
This technote explains how to create the necessary dumps when WebSphere Application Server Community Edition works as an operating system service. This method applies to the IBM Java SDK 1.5.0 and the IBM Java SDK 1.6.0
Reason . When client applications experience freezes or poor performance using WebSphere Application Server Community Edition on IBM Java SDK 1.5.0 or IBM Java SDK 1.6.0 and the server runs as a service operating system, the corresponding command line / server process server window is not accessible to users. As a result, user signals cannot be sent from the keyboard to trigger dumps.
Solution: When the command window of the JVM process is available, dumping is performed as follows:
Windows: If the JVM setting is configured to trigger dumps on a user signal, press CRTL+Break in the command window to generate dumps.
Linux: if the JVM parameter is configured to dump in the user signal, press CTRL+\ in the shell window.
AIX: If the JVM parameter is configured to dump in the user signal, press CTRL+\ in the shell window.
Note. To dump a Java kernel, dump a system kernel, dump a heap, and dump a dump in a user signal, dump agents must be configured using JVM parameters as follows:
-Xdump:java+heap+system+snap:events=user
For more information about configuring dump agents, see -Xdump .
However, if WebSphere Application Server Community Edition is running as an operating system service, the command window may not be available. This case also occurs when starting the JVM process using javaw.exe on windows.
In previous cases, the user needs to find the appropriate JVM process process identifier and use the dump tool provided by the operating system vendor or supplied by IBM by following these steps.
Windows: WinDbg can be downloaded from the Microsoft Dev tools site for dumping the system kernel. Use the following command on the WinDbg console to dump the system kernel:
dump /f <dumpfile>
Where dumpfile contains the directory path and file name of the system core dump file. Make sure that /f used instead of /ma . /f generates a full dump, where /ma generates a mini dump. Only full dumps are supported using the jextract tool that ships with the IBM Java SDK 1.5.0 / 1.6.0.
SendSignal Utility for Windows. To do this, the JVM must be configured to dump on custom signals. To generate a Java core dump, heap dump, system kernel dump, and a binding to a user signal, the following parameter must be provided to the JVM at startup:
-Xdump:java+heap+system+snap:events=user
Note. The SendSignal utility can be used to generate all types of dumps, where WinDbg only generates dumps of the system kernel.
Linux and AIX : The signal for Linux and AIX is SIGQUIT . Use the command to send a custom signal to trigger various dumps:
kill -3 <PID>
For this, the JVM must be configured to dump the user signal. To generate a Java core dump, a heap heap, a system kernel dump, and binding to a user signal, the following option must be provided at startup on the JVM.
-Xdump:java+heap+system+snap:events=user
Note. System core dump files must be processed using the jextract tool, and the output must be sent to IBM support. A Jextract from the same JVM that experienced the problem should be used to handle a dump of the system kernel:
<JAVA_HOME>/jre/bin/jextract <dumpfile>
Where dumpfile is the name of the system core dump file.
This will create a zip .zip file. The mail file must be sent to IBM Support.