思路:结合Linux和JDK命令一起分析

1、top命令找出CPU占比最高的进程

java面试-生产环境出现CPU占用过高,谈谈你的分析思路和定位

2、ps -ef|grep java|grep -v grep 或者jps -l进一步定位,得知是怎样一个后台程序惹事

java面试-生产环境出现CPU占用过高,谈谈你的分析思路和定位

3、定位到具体线程:ps -mp 进程编号 -o THREAD,tid,time 

ps -mp 4618 -o THREAD,tid,time

-m:显示所有线程
-p pid:进程使用CPU的时间
-o:用户自定义格式  

java面试-生产环境出现CPU占用过高,谈谈你的分析思路和定位

4、将需要的线程ID转换为16进制格式:printf "%x\n" 有问题的线程id

printf "%x\n" 4619  

java面试-生产环境出现CPU占用过高,谈谈你的分析思路和定位

5、jstack 进程ID|grep tid(16进制线程小写英文)-A60

 jstack 4618 | grep 120b -A60  

 java面试-生产环境出现CPU占用过高,谈谈你的分析思路和定位

 

相关文章:

  • 2022-12-23
  • 2021-12-17
  • 2022-03-14
  • 2021-06-01
  • 2023-02-10
  • 2021-06-24
  • 2021-04-10
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2021-06-02
  • 2021-05-20
  • 2022-02-12
相关资源
相似解决方案