Documentation Contents
Java Platform, Standard Edition Troubleshooting Guide
Contents Previous Next

# Hung Processes Tools

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 `kill -QUIT` pid on Oracle Solaris and Linux operating systems, and Control+Break on Windows) | 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.
`jcmd` utility | 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.
`jdb` utility | Debugger support includes attaching connectors, which allow `jdb` and other Java language debuggers to attach to a process. This can help show what each thread is doing at the time of a hang or deadlock. See The jdb Utility.
`jhat` utility | This utility provides a convenient means to browse the object topology in a heap dump. See The jhat Utility.
`jinfo` utility | This utility can obtain configuration information from a Java process. See The jinfo Utility.
`jmap` utility | This utility can obtain memory map information, including a heap histogram, from a Java process. On Oracle Solaris and Linux operating systems, the `-F` option can be used if the process is hung. See The jmap Utility.
`jsadebugd` daemon (Oracle Solaris and Linux operating systems only) | The Serviceability Agent Debug Daemon (`jsadebugd`) attaches to a Java process or to a core file and acts as a debug server. See The jsadebugd Daemon.
`jstack` utility | This utility can obtain Java and native stack information from a Java process. On Oracle Solaris and Linux operating systems the `-F` option can be used if the process is hung. See The jstack Utility.
Native tools | Each operating system has native tools and utilities that can be useful in hang or deadlock situations. See Native Operating System Tools.

Contents Previous Next

Copyright © 1993, 2018, Oracle and/or its affiliates. All rights reserved.
Contact Us