- 使用 jps -l 命令找到药诊断的 Java 应用的 pid(-l 参数是用来显示 Java 应用的完整包名的)。或者使用 top 命令根据 CPU 使用率查找 pid。
- 使用 top -H -p <pid> 显示此进程中每个线程的相关信息。找到 CPU 占用率过高的线程,获取该线程的 id,并将其 id 的值转换为十六进制。
- 使用 jstack 或 VisualVM 抓取 thread dump。
- 在 Thread dump 中,用转换为十六进制的线程 id 查找相应线程的调用信息。该 id 应该出现在 Thread dump 的 nid 中。