- 顾名思义,表示一个时间点上,显示进程里面每一个线程的 stack trace,以及线程之间关联,比如等待
- 常用来定位一些 不响应,CPU 很高,内存使用很高问题
- 汇总表格如下
工具 | 操作系统 | Java 版本 | 具体命令 | |
JConsole | 非AIX | Java 1.5或者以上 | 通过 MBeans | 不太常用 |
VisualVM | 非AIX | Java 1.6或者以上 | ||
jstack | 非AIX | Java 1.5或者以上 |
jps -l //列出进程 PID 以及 名称 jstack <pid> >> jstack.txt |
常用 |
CTRL-BREAK | Windows | 所有 | Java 的 dos 窗口里面,CTRL-BREAK, 然后显示在窗口里面 | |
kill -3 <PID> | 所有 UNIX/Linux | 所有 | kill -3 <PID> | 常用于 AIX, 在 AIX 会生成单独的 javacore 文件,其它 OS 不好捕捉输出 |