线上问题排查思路

CPU100%问题如何快速定位

找到占用cpu最高的进程

1
2
# P 排序
top -c

取上一歩的进程pid,查询 占用cpu最高的线程

1
2
# P 排序    11647上一歩的线程pid
top -Hp 11647

线程pid转16进制

1
2
# %x 表示 16进制 ;  \n  强制刷新缓冲区到屏幕   11656上一歩的线程pid
printf '%x\n' 11656

查看java栈信息,定位代码

1
2
#   11647第一歩的进程pid   2d88  占用的线程16进制   -c30 指打印出30行
jstack 11647 | grep '2d88' -C30 --color

out-of-cpu.png