查看JAVA进程中哪个线程CPU消耗最高
一,在centos linux 上查看进程占用cpu过高
top
shift+h
查看哪个进程程消耗最高
二,查看JAVA进程中哪个线程消耗最高
2.1 导出java运行的线程信息
jstack 进程id(jps查看)
jstack 进程id > ps.txt
jstack -l 进程id (窗口打印)
//另外还有一种方式
如果启动方式如下:
nohup java -classpath conf/:my.jar com.tank.manClass>./log.out 2>&1 &
则执行: kill -3 PID,进程信息会输出到/log.out
2.2 查找最消耗cpu的java线程
jps
找到java进程PID
命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid
![](https://images2015.cnblogs.com/blog/142846/201610/142846-20161021113605857-1987371329.png)
通过%CPU和 TIME,判断占用的线程TID
找到TID,转换成16进制,然后在上面(jstack 进程id > ps.txt)导出的文件中搜索,就可以定位到具体的线程,类。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步