10.假如生产环境出现CPU占用过高,请谈谈你的分析思路和定位
结合Linux和JDk部令一块分析
案例步骤
1.先用top命令找出CPU占比最高的
2.ps -ef或者jps进一步定位,得知是一个怎么样的一个后台程序给我们惹事
3.定位到具体线程或者代码
ps -mp 进程 -o THREAR,tid,time
参数解释
- -m显示所有的线程
- -p pid进程使用cpu的时间
- -o该参数后是用户自定义格式
4.将需要的线程ID转换为16进制格式(英文小写格式)
printf “%x\n” 有问题的线程ID
5. jstack 进程ID | grep tid(16进制线程ID小写英文) -A60
5101 406336 08:25 pts/200:11:25 java com.atguigu.test.JavaDemo02
ps -mp 5101 -o THREAD,tid,time
root 35.6 19 5102 00:11:35
jstack 5101 grep 13ee -A60