java进行持续占用CPU很多,一般都是线程堵塞造成的。我们可以通过下载java进行的线程信息进行分析。
jstack命令是JDK自带的用于生成Java线程快照的工具。它可以输出Java应用程序当前的线程信息,包括线程堆栈、线程状态等。

一、windows

打开CMD命令窗口
cd jstack.exe所在目录(一般在“jdk所属目录/bin”目录下)

dump java进程信息:
jstack -l java进程ID >> 存放目录/线程信息文件.txt

例如:

jstack -l 8810 >> D:/dump/123.txt

注意:
1、java进程ID:java进程ID,windows下可以通过进程管理器查看,linux下可以通过 top 命令查看;
2、把生成的123.txt发给研发进行分析。

二、linux/uos/银河麒麟

进入CMD命令窗口
使用xshell等远程工具,进行linux命令操作窗口。

查看java进程id
ps -ef|grep java

进入jstack所在目录

例如:

cd /usr/local/tomcat/jdk1.8/bin

dump java进程信息:
jstack -l java进程ID >> 存放目录/线程信息文件.txt

例如:

jstack -l 10894 >> /usr/local/tomcat/dump/123.txt

作者:柳杨  创建时间:2024-03-13 09:08
最后编辑:柳杨  更新时间:2025-04-22 15:31