日期:2014-05-16  浏览次数:20613 次

三、jstack命令(Java Stack Trace)

1、介绍

jstack用于打印出给定的 java 进程 ID 或 core?file 或远程调试服务的 Java 堆栈信息,如果是在 64 位机器上,需要指定选项 "-J-d64" , Windows 的 jstack 使用方式只支持以下的这种方式:

jstack?[-l]?pid

如 果java 程序崩溃生成 core 文件, jstack 工具可以用来获得 core 文件的 java?stack 和 native?stack 的信息,从而可以轻松地知道 java 程序是如何崩溃和在程序何处发生问题。另外, jstack 工具还可以附属到正在运行的 java 程序中,看到当时运行的 java 程序的 java?stack 和 native?stack 的信息 ,? 如果现在运行的 java 程序呈现 hung 的状态, jstack 是非常有用的。

2、命令格式
jstack?[?option?]?pid
jstack?[?option?]?executable?core
jstack?[?option?]?[server-id@]remote-hostname-or-IP

3、常用参数说明

1)、 o ptions : ?

executable?Java?executable?from?which?the?core?dump?was?produced.

(可能是产生 core?dump 的 java 可执行程序 )

core?将被打印信息的 core?dump 文件

remote-hostname-or-IP?远程 debug 服务的主机名或 ip

server-id?唯一 id, 假如一台主机上多个远程 debug 服务?

2)、基本参数: