linux----CPU使用率过高问题定位过程

 

1、确定本地网络是否存在延迟或丢包情况

  

 

  关注点:

    1、响应时间

    2、丢包率

 

2、TOP命令(这里先关注CUP使用情况,后期再详细说明)

  

 

   从上图我们可以看出,3373的进程占用了   %cpu   313.2 

  说明:

    由于该服务器CPU逻辑核数为4核,总共为  400    该进程   占用了   313.2/400

  这里我们获取的了进程ID为3373

 

3、查看线程ID

  ps -mp 进程id -o THREAD,tid,time | sort -rn

  

 

   从上图我们可以看出

  1、有占了 cpu 95.8的线程,但是没有TID,这些我们忽略就行

  2、重点关注蓝色框中带有TID的线程

 

4、把线程ID转化为16进制

  printf   '%x\n'   线程id

  

 

   得到了d35这样的一个线程ID

 

5、根据线程的16进程表达来定位是个什么东西

  jstack 进程id | grep 线程16进制 -A60

  

 

   得出了此类信息

   这里是一个垃圾回收的线程,由于在我的服务器中,实在找不到占用CPU高的线程

  所以就找了这么一个东西来充当了

  那么就有同学问了,这里的东西,我们测试人员也看不懂啊,咋办

  没事,我也不懂,都是这样截图给开发,让他帮看看是一个什么东西

 

posted @ 2020-05-14 14:38  贫僧法号-->乱来  阅读(308)  评论(0编辑  收藏  举报