1,找到最耗CPU的进程 执行top
先找到进程里面占用CPU最高的线程,然后jstack 日志里面分析,一般会定位到具体的哪行代码
curl http://localhost:8080/test
top -c 找出消耗CPU进程 排序
2,找到最耗CPU的进程 执行top
top -H -p pid 找出进程下哪个线程消耗CPU tid
3,将线程PID转化为16进制
printf "0x%x\n" tid 占用CPU最高的那个线程的pid 对应的16进制表示
printf "0x%x\n" 16356 得到结果 0x3fe4
查看堆栈,找到当前进程pid下对应的占用CPU较高的线程tid在干嘛
4,jstack pid | grep -A 20 0x3fe4 --color 查找显示匹配后的20行
grep -A
-A -B -C 后面都跟阿拉伯数字
-A是显示匹配后和它后面的n行。
-B是显示匹配行和它前面的n行。
-C是匹配行和它前后各n行。