定位服务器CPU爆满的具体原因

1、查询CPU消耗的进程

使用top命令查看系统的CPU和内存使用情况定位服务器CPU爆满的具体原因_第1张图片

 CPU一列是线程占用百分比

2、具体查看某个占分比大的进程

以为PId:7355为例, 执行top -Hp 7355,线程按照CPU使用率排序。

定位服务器CPU爆满的具体原因_第2张图片

 

3、将线程PID转化为16进制

执行printf %x 7391,将线程PID转成16进制->1cdf。因为堆栈里,线程id是用16进制表示的,这一步也可以使用其方式转换。

4、查看线程的堆栈

这一步可以执行的命令有:pstack/jstack/grep,这里演示其中一种即可。执行

jstack 7355| grep ‘1cdf’ -C9 --color

打印进程堆栈,通过线程id,过滤得到线程堆栈

你可能感兴趣的:(java,开发语言)