大数据热点面试之Linux(2):CPU占用过高,如何定位问题?

文章最后有每日干货分享偶,记得查收!

问题描述:假如生产环境出现CPU占用过高,请谈谈你的分析思路和定位?

解决方案:结合Linux和JDK命令一块分析

  1. 先用top命令找出CPU占比最高的线程。
  2. ps -ef或者jps进一步定位,得知是一个怎么样的一个后台程序。
  3. 定位到具体线程或者代码。
  4. 将需要的线程ID转换为16进制格式(英文小写格式)。
  5. jstack 进程ID | grep tid(16进制线程ID小写英文) -A60。


案例图示详解:


大数据热点面试之Linux(2):CPU占用过高,如何定位问题?

1. 先用top命令找出CPU占比最高的


大数据热点面试之Linux(2):CPU占用过高,如何定位问题?

3.ps -mp 进程 -o THREAD,tid,time定位到具体线程或者代码

  1. printf "%x\n" 有问题的线程ID
  1. jstack 进程ID | grep tid(16进制线程ID小写英文) -A60

干货分享:分享一本阿里java程序员必看的内功神书:《深入Java虚拟机》关注留言直接获取网盘提取码。


大数据热点面试之Linux(2):CPU占用过高,如何定位问题?

大数据热点面试之Linux(2):CPU占用过高,如何定位问题?

作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,将对读者更快速地编写更高效的程序大有裨益!


分享到:


相關文章: