监控报警linux服务器下CPU的使用率过高导致调用失败的问题排查方式

1、使用top命令定位异常进程。可以看见11268的CPU和内存占用率都非常高

     此时可以再执行ps -ef | grep java,查看所有的java进程,在结果中找到进程号为11268的进程,即可查看是哪个应用占用的该进程。

     top

     ps -ef|grep java

2、使用top -H -p 进程号查看异常线程,

     top -H -p 11268

3、使用printf "%x\n" 线程号将异常线程号转化为16进制

      printf "%x\n" 11422     

      2c9e

4、使用jstack 进程号|grep 16进制异常线程号 -A90来定位异常代码的位置(-A90是指输出的日志行数)。可以看到异常代码的位置。

      jstack 11268|grep 2c9e -A90

5、应用调用失败的话,紧急处理的话,可以杀掉该进程,然后重启

     kill -9 11268

posted @ 2020-06-02 17:07  表演给自己看的认真  阅读(638)  评论(0编辑  收藏  举报