---
name: "jstack-openjdk17"
section: "1"
platform: "linux"
package: "jdk17-openjdk"
version: "17.0.21.0.3.u1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/jstack-openjdk17"
---

# jstack-openjdk17(1)

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

## NAME

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

## SYNOPSIS

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

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

- ***options***

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

- ***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

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

- **-l**

  The long listing option prints additional information about locks.

- **-h or -help**

  Prints a help message.
