jstack 是 Java 开发工具包(JDK)自带的一个命令行工具,用来获取正在运行的 Java 进程的线程堆栈(thread dump)信息,常用于排查死锁、卡顿、CPU 飙高、线程阻塞等问题。(也常写作 jstack 命令;在不同平台/版本中用法略有差异。)
/ˈdʒeɪ stæk/
I ran jstack to see what the Java process was doing.
我运行了 jstack 来查看这个 Java 进程在做什么。
When the service froze under load, we captured multiple jstack thread dumps and found many threads waiting on the same lock.
当服务在高负载下卡死时,我们抓取了多份 jstack 线程转储,发现很多线程都在等待同一把锁。
jstack 由 “j”(指 Java)+ “stack”(指线程的调用栈/堆栈)组合而来,字面意思就是“Java 的堆栈(信息)”。它对应的输出通常被称为 thread dump,用于查看每个线程当前执行到哪里、在等什么。
jstack)jstack 同场出现)jstack 有专门条目与示例)