Use the AdminControl object to produce a Java core dump,
which includes the Java threads of a running server.
About this task
- A Java heap dump includes all of the live objects on the Java
heap that are being used by the running Java application.
- A system TDUMP includes the content of all of the failing address
spaces.
Avoid trouble: In some circumstances,
the hung thread detection process might be frequently triggered, causing
system TDUMPs to be initiated. These dumps can be large and take several
minutes to process. While the dumps are being processed, the server
address space is not dispatchable, which might extend the length of
time locks owned by the address space are held. If your server uses
shared sub-systems like DB2 or WebSphere MQ, the extended length of
time during which the locks might be held could adversely effect those
shared sub-systems, and other address spaces that share those sub-systems.
Therefore, if you experience frequent hung threads, you might want
to disable the taking of system TDUMPs on the application server experiencing
the hung threads.
gotcha
- A Java core dump includes all of the memory that is being used
by the JVM, and includes the state of every thread in the server processes.
Procedure
Issue one of the following commands to produce a Java core
dump. Using Jacl:
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
$AdminControl invoke $jvm dumpThreads
Using Jython:
jvm = AdminControl.completeObjectName('type=JVM,process=server1,*')
AdminControl.invoke(jvm, 'dumpThreads')
Note: The dumpThreads command creates other types of dump files
depending on the -Xdumps settings. Dump output varies depending on
the platform and might include system core files, heap, and snap dumps.