1. TOP查看CPU占用过高进程
2. ps -mp 4179 -o THREAD,tid,time 查看线程id
3. printf "%x\n" 4528,线程id转成16进制为 11b0
4. jstack 4179|grep 11b0 -A 30 ( jstack pid|grep TID(16进制) -A 30 ) 定位代码块
本文介绍了一套实用的方法来定位导致CPU占用过高的进程及其内部线程:使用TOP查看系统中CPU占用率最高的进程;通过ps命令获取指定PID进程的线程ID,并将其转换为16进制;最后借助jstack命令结合线程ID进一步锁定具体的代码位置。
1. TOP查看CPU占用过高进程
2. ps -mp 4179 -o THREAD,tid,time 查看线程id
3. printf "%x\n" 4528,线程id转成16进制为 11b0
4. jstack 4179|grep 11b0 -A 30 ( jstack pid|grep TID(16进制) -A 30 ) 定位代码块
1055