记一次CPU高占用问题排查

记一次CPU高占用问题排查

问题描述:线上服务器多线程出现死锁情形,CPU高占用。

解决步骤:

  1. 首先定位可疑进程号. jps命令

    image-20221009193235584

  2. 将上述35381定位为可疑进程。 进一步定位线程ID, top -H -p 35381 查看可疑线程

image-20221009194516126

  1. 将线程ID转换成16进制,字母小写. 使用计算器进行辅助 得到8a46

image-20221009194617489

  1. jstack 进程ID | grep -A 30 线程ID

image-20221009194901077

如上总结: 通过JPS获取可疑进程ID, top -H -p pid 查询可疑线程id, 将线程id转换成16进制数值,利用jstack pid|grep tid 进行搜索。如上日志可以看出 线程A和线程B出现了Blocked死锁.

posted @ 2022-10-09 19:55  赤子的心  阅读(25)  评论(0编辑  收藏  举报