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, 2017, Oracle and/or its affiliates. All rights reserved.