线上服务器CPU100%排查,Linux进程消耗查看

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/An1090239782/article/details/102679002



相关博文:

博客园: chen_hao:告诉你如何回答"线上CPU100%排查"面试问题
博客园: liuge36:linux 进程消耗查看



生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,如何定位出问题呢?

1、排查步骤

  1. 查消耗cpu最高的进程PID
  2. 根据PID查出消耗cpu最高的线程号
  3. 根据线程号查出对应的java线程,进行处理。

1.1Linux下排查

1.1.1查消耗cpu最高的进程PID

执行命令:

执行top -c ,显示进程运行信息列表。按下P,进程按照cpu使用率排序

在这里插入图片描述

1.1.2根据PID查出消耗cpu最高的线程号

执行命令:

top -Hp 3033 ,显示一个进程的线程运行信息列表。按下P,进程按照cpu使用率排序

在这里插入图片描述
这是十进制的数据,转成十六进制为0xbda

1.1.3根据线程号查出对应的java线程,进行处理

执行命令,导出进程快照:

jstack -l 3033 > ./3033.stack

然后执行,grep命令,看线程0xbda做了什么

cat 3033.stack |grep 'bda' -C 8

在这里插入图片描述

2、linux 进程消耗查看

linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

猜你喜欢

转载自blog.csdn.net/An1090239782/article/details/102679002