Java stack (jstack
) tool
Use the jstack
tool to obtain Java stack traces and thread information for processes. The tool is similar to the HotSpot tool of the same name; the Eclipse OpenJ9™ version of jstack
is an independent implementation, added for compatibility.
The command syntax is as follows:
jstack <options>* <pid>*
Where <pid>*
is a list of process IDs. If none are supplied, the process IDs are read from stdin
, which allows a user running a Bourne or equivalent shell to query all processes via jps -q | jstack
. IDs of inactive processes are silently ignored. The output contains Java stacks and thread information of the specified processes (equivalent to the information provided in java.lang.management.ThreadInfo
).
The values for <options>*
are as follows:
-J
: supplies arguments to the Java VM that is running thejstack
command. You can use multiple-J
options, for example:jstack -J-Xmx10m -J-Dcom.ibm.tools.attach.enable=yes
-p
: prints the system and agent properties of the process-l
: prints more verbose output, including information about locks-h
: prints help information
Restrictions:
- This tool is not supported and is subject to change or removal in future releases.
- Although similar in usage and output to the HotSpot tool of the same name, this tool is a different implementation that is specific to OpenJ9. For more information about differences, see Switching to OpenJ9.
The tool uses the Attach API, and has the following limitations:
- Displays information only for local processes that are owned by the current user, due to security considerations.
- Displays information for OpenJ9 Java processes only
- Does not show information for processes whose Attach API is disabled. Note: The Attach API is disabled by default on z/OS.
For more information about the Attach API, including how to enable and secure it, see Java Attach API.