JSTACK(1) JDK Commands JSTACK(1)

# [NAME](#NAME)

jstack - print Java stack traces of Java threads for a specified Java process

# [SYNOPSIS](#SYNOPSIS)

**Note:** This command is experimental and unsupported.

**jstack** \[*options*] *pid*

[***options***](#options)

This represents the **jstack** command-line options. See **Options for the jstack Command**.

[***pid***](#pid)

The process ID for which the stack trace is printed. The process must be a Java process. To get a list of Java processes running on a machine, use either the **ps** command or, if the JVM processes are not running in a separate docker instance, the **jps** command.

# [DESCRIPTION](#DESCRIPTION)

The **jstack** command prints Java stack traces of Java threads for a specified Java process. For each Java frame, the full class name, method name, byte code index (BCI), and line number, when available, are printed. C++ mangled names aren't demangled. To demangle C++ names, the output of this command can be piped to **c++filt**. When the specified process is running on a 64-bit JVM, you might need to specify the **-J-d64** option, for example: **jstack -J-d64** *pid*.

**Note:**

This command is unsupported and might not be available in future releases of the JDK. In Windows Systems where the **dbgeng.dll** file isn't present, the Debugging Tools for Windows must be installed so that these tools work. The **PATH** environment variable needs to contain the location of the **jvm.dll** that is used by the target process, or the location from which the core dump file was produced.

# [OPTIONS FOR THE JSTACK COMMAND](#OPTIONS_FOR_THE_JSTACK_COMMAND)

[**-l**](#l)

The long listing option prints additional information about locks.

[**-h or -help**](#h)

Prints a help message.

2021 JDK 17

---

Document: jstack(1) from openjdk-17 17.0.21.0.3-r0 (Chainguard OS)
Source: https://github.com/openjdk/jdk17u.git
