1.使用top -c命令查询 , (由于在这个服务器上部署了多个Tomcat应用) , 先找到占用占用最高的cpu进程 , 如下图:
文章插图
top -c命令截图
【Linux快速找出Java应用占用CPU最高的线程】2.查找占用CPU比较多的进程的线程信息 , top -H -p 32555 , (注:由于现场数据没有保留 , 下图只是演示)
文章插图
top -H -p 进程号查询线程信息
3.根据上图的数据 , 找到占用CPU最高的进程号 , 将进程号转换成16进制 , printf '%xn' 32555
文章插图
16进制转换
4.然后再使用jstack查询线程的堆栈信息语法:jstack <pid>(进程ID) | grep -a 线程id(十六进制)
jstack 32555 |grep -a 7f2b
推荐阅读
- Linux系统下超级管理员root用户的密码忘记了怎么办?
- 运维新人如何快速管理服务器
- 如何60秒内分析Linux性能
- 怎么运动能快速瘦身呢?
- 《学习强国》怎么快速增分?
- Linux 内核如何处理中断
- 核桃青皮怎么快速去掉?
- 初次登录 Linux 服务器马上要做的 9 件事
- 如何在 Linux 终端查看图像
- 浅谈linux下基于UDP服务的负载均衡方法