首页 /系统 / Linux / 正文

干货:centos中cpu占用过高排查

2021-07-21| 发布者: xiaotiger|

centos中用TOP命令可以查看cpu占比,如果80%以上需要引起注意。1、图1中一个进程cpu的占比到了685%,已经接近天花板。同时可以看到其对应的进程信息是2156.用命令ps -2156在图2中可以知悉进程对应的的服务名,jar包 ...

centos中用TOP命令可以查看cpu占比,如果80%以上需要引起注意。
1、图1中一个进程cpu的占比到了685%,已经接近天花板。
同时可以看到其对应的进程信息是2156.
用命令
ps -2156
在图2中可以知悉进程对应的的服务名,jar包,路径,还有内存配置等信息。
2、命令
top -p 2156 -H
查看是线程CPU过高,还是进程CPU过高,一个进程包括多个线程,图3中,-H表示查看线程信息,这里的列名还是pid,实际上是线程的pid,就是2156这个进程下所有线程信息(图3中有9个线程占比高).
3、根据线程查看堆栈信息,用线程号是2629来分析
命令
printf "%x\n" 2629
首先将线程ID转换 成16进制,得到a45
4、查看该进程下的堆栈信息
将堆栈信息写入到文件中
jstack 2156 > th20210719.log,
然后在文件中查找根据线程0xa45去找日志就可以了,执行这条命令的时候,需要用程序所属的用户,不能用root用户。
经过以上分析,便可以知道程序中是哪些线程需要调优了,这种方法非常适合研发人员使用,当然,如果运维人员能明白,更胜一筹。

Keywords: 线程 进程 信息 堆栈 命令 可以 查看 2156 需要 比高

0人已打赏

0条评论 57人参与 网友评论 文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2021 HACKBASE 黑名单手机版