Table 2-3 summarizes the options and tools that can help in scenarios involving a hung or deadlocked process. These tools do not require any special options to start the application.
The release of JDK 8 introduced Java Mission Control, Java Flight Recorder, and jcmd
utility for diagnosing problems with JVM and Java applications. It is suggested to use the latest utility, jcmd
instead of the previous jstack
, jinfo,
and jmap
utilities for enhanced diagnostics and reduced performance overhead.
Table 2-3 Hung Processes Tools
Tool or Option | Description and Usage |
---|---|
Ctrl-Break handler (Control+\ or |
This key combination performs a thread dump as well as deadlock detection. The Ctrl-Break handler can optionally print a list of concurrent locks and their owners, as well as a heap histogram. See Control+Break Handler. |
|
The jcmd utility is used to send diagnostic command requests to the JVM, where these requests are useful for controlling Java Flight Recordings. The JFRs are used to troubleshoot and diagnose flight recording events. See The jcmd Utility. |
|
Debugger support includes attaching connectors, which allow |
|
This utility provides a convenient means to browse the object topology in a heap dump. See The jhat Utility. |
|
This utility can obtain configuration information from a Java process. See The jinfo Utility. |
|
This utility can obtain memory map information, including a heap histogram, from a Java process. On Oracle Solaris and Linux operating systems, the |
(Oracle Solaris and Linux operating systems only) |
The Serviceability Agent Debug Daemon ( |
|
This utility can obtain Java and native stack information from a Java process. On Oracle Solaris and Linux operating systems the |
Native tools |
Each operating system has native tools and utilities that can be useful in hang or deadlock situations. See Native Operating System Tools. |