NAME
       jstack - Prints Java thread stack traces for a Java process, core file, or remote debug server.

SYNOPSIS
       jstack [ options ] pid

       jstack [ options ] executable core

       jstack [ options ] [ server-id@ ] remote-hostname-or-IP

参数:

     -F 当’jstack [-l] pid’没有相应的时候强制打印栈信息,如果直接jstack无响应时,用于强制jstack,一般情况不需要使用。
     -l 长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表,会使得JVM停顿得长久得多(可能会差很多倍,比如普通的jstack可能几毫秒和一次GC没区别,加了 -l 就是近一秒的时间),-l 建议不要用。
     -m 打印java和native c/c++ 框架的所有栈信息.可以打印JVM的堆栈,显示上Native的栈帧,一般应用排查不需要使用。

示例:

jstack pid

查看线程cpu占用:

top -H -p  pid //找到占用较高的线程id

python -c "print hex(线程id)" //转换成16进制的地址

jstack pid |grep  -A30 16进制地址

02-14 02:13