| 关键词: 线程 进程 信息 堆栈 命令 可以 查看 2156 需要 比高 |
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用户。 经过以上分析,便可以知道程序中是哪些线程需要调优了,这种方法非常适合研发人员使用,当然,如果运维人员能明白,更胜一筹。 |
| 本文出处: https://www.toutiao.com/w/a1705813460622349/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|