众所周知,我们系统里面一个关键的指标就是cpu.idle,如果这个过小的话,说明服务器非常繁忙,也就是cpu非常繁忙,这是一种异常情况,这时候需要我们来排查原因了。
暂且假定cpu.idle设置的报警阈值是10,目前的情况是cpu.idle<10,系统发出了告警
看一下我们排查的过程,
1.找到java进程,使用命令:top 或者 jps 或者 ps -ef | grep java,假定我们找到的是java 进程 PID=9527
2.找到java进程中的线程情况,使用命令:top -H -p 9527
3.找到占用cpu较高的排名靠前的几个线程 PID 假如找到的耗CPU较高的线程 PID=95271
4.查看该线程的堆栈信息,使用命令:jstack -l 95271 或者 jstack -F 95271
5.分析堆栈的信息,可以看到一些线索,可以进一步进行排查