1. 先用top命令找出CPU占比最高的,如下图最高的为java应用,pid为3989

假如生产环境出现CPU占用过高,如何排查与定位

         2.用ps –ef或者jps进一步定位,得知是一个怎样的一个后台程序

ps -ef | grep java|grep -v grep

假如生产环境出现CPU占用过高,如何排查与定位

         3.定位到具体线程或者代码

         ps -mp 3989 -o THREAD,tid,time

         -m:显示所有线程

         -p:pid进程使用CPU的时间

         -o:该参数后是用户自定义格式

假如生产环境出现CPU占用过高,如何排查与定位

         4.将需要的线程ID转换为16进制格式(英文小写格式)

         如上图所示,线程ID为3990,16进制为F96,小写为f96

         5.jstack 进程ID | grep tid(英文小写) -A60

假如生产环境出现CPU占用过高,如何排查与定位

         6.回到工程去查看代码

假如生产环境出现CPU占用过高,如何排查与定位

相关文章:

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