生产CPU打满问题排查

    运行好好的系统,突然Prometheus告警,CUP使用率95%告警。赶紧排查一下。

一、先用top -H 命令查看占用CUP高的是哪个进程,看到PID:32518 的进程占用cup过高

 

 二、用top -Hp 32518看看占用资源最多的线程

 

 三、用jstack 32518 > 32518.jstack.log 命令把线程堆栈打印出来

 四、使用 printf "%x\n" 32518 把线程pid转换成16进制数 7f06

 五、less 32518.jstack.log  搜索 7f06找到代码的位置 。到代码去看,的确是有问题,一个递归函数跳不出来了。

图中的搜索的16进制的数据不是7f60,因为是示例,主要就是讲一个思想。

 

 

 

参考:

    【1】https://www.cnblogs.com/myseries/p/12050083.html

posted @ 2025-02-26 11:49  寻找风口的猪  阅读(19)  评论(0)    收藏  举报