如何找出CPU飚高的原因

cpu 占用很高,导致其他请求无法进入,可能的情况比如 死循环等

线上Linux top 命令查看cpu 占用情况,找出占用cpu 最高的Java 进程

top 
# 比如说找到占用最高的 cpu 进程 id 是 83232

# jstack 输出文件,以备查找问题
jstack 83232 > 83232.txt 

# top 查看占用cpu 很高的线程 ,这里可以看到占用很高cpu的线程id  
 比如找到的其中一个线程id 是 23291
top -p 83232 -H

// 进制转换输出
printf "%X" 23291 
[root@iZbp1bw2bq5dzna0f2aiduZ developer]# printf "%X" 23291
5AFB[root@iZbp1bw2bq5dzna0f2aiduZ developer]#

然后拿到 5AFB 在 之前导出的文件 83232.txt 里寻找,看看可能是什么地方出了问题 。

猜你喜欢

转载自blog.csdn.net/Andy86869/article/details/83241326