jstack - Unix, Linux Command

previous next AddThis Social Bookmark Button


jstack - stack trace


jstack [option] pid
jstack [option] executable core
jstack [option] [server-id@]remote-hostname-or-IP


jstack prints Java stack traces of Java threads for a given Java process or core file or a remote debug server. For each Java frame, the full class name, method name, ’bci’ (byte code index) and line number, if available, are printed. With the -m option, jstack prints both Java and native frames of all threads along with the ’pc’ (program counter). For each native frame, the closest native symbol to ’pc’, if available, is printed. C++ mangled names are not demangled. To demangle C++ names, the output of this command may be piped to c++filt.

NOTE - This utility is unsupported and may or may not be available in future versions of the J2SE SDK. jstack is not currently available on Windows platforms or on the Linux Itanium platform.


Options are mutually exclusive. Option, if used, should follow immediately after the command name.
pid process id for which the stacktrace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used.
executable Java executable from which the core dump was produced.
core core file for which the stack trace is to be printed.
remote-hostname-or-IP remote debug server’s (see jsadebugd) hostname or IP address.
server-id optional unique id, if multiple debug servers are running on the same remote host.


-m prints mixed mode (both Java and native C/C++ frames) stack trace.
-h Prints a help message.
-help Prints a help message.


Mixed mode stack trace, the -m option, does not work with the remote debug server.
previous next Printer Friendly