cpu100%定位解决方法

我们服务器上的的服务和项目大部分都是java的,现在来讲讲,这种服务器cpu100%如何定位。

  1. 先使用top命令找到cpu最高的进程。比如找到cpu最高的进程id,简称top_pid。
  1. 使用top -Hp top_pid找到cpu最多的线程,这里记住最高的几个线程id,thread_id。
  2. 现在我们将这些线程id转化成16进制,因为java堆栈里的线程id都是16进制的,转化后方便我们定位printf “%x ” thread_id
  3. jstack top_pid,打印出堆栈,然后用3步骤里找到的十六进制线程id,找到对应的堆栈

上面的方法是可以帮我们定位出问题,但是4个步骤还是太麻烦,我们也可以使用一些比较方便工具简化定位。

  1. 使用工具show-busy-java-threads.sh

show-busy-java-threads.sh(https://github.com/oldratlee/useful-scripts)

  1. 使用arthas

https://alibaba.github.io/arthas/index.html



展开阅读全文

页面更新:2024-03-20

标签:堆栈   线程   进程   步骤   命令   麻烦   服务器   工具   方法   项目   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top