<返回更多

cpu100%定位解决方法

2021-06-07    一只小蜜蜂呀
加入收藏

我们服务器上的的服务和项目大部分都是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 “%xn” 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

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>