Java CPU占用高排查

找到最耗CPU的进程pid

top

[root@localhost ~]# top
top - 16:17:15 up 135 days, 21 min,  2 users,  load average: 0.57, 0.35, 0.31
Tasks: 195 total,   1 running, 194 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.7 us,  1.5 sy,  0.0 ni, 95.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8008208 total,   159788 free,  6447100 used,  1401320 buff/cache
KiB Swap:  5242876 total,  3176956 free,  2065920 used.  1242648 avail Mem 
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                     
 4209 root      20   0 6597640 613680   7252 S  17.5  7.7  37698:42 java                                                                                     
31061 root      20   0 7911860 304228   6140 S   1.0  3.8   3596:52 java                                                                                      
31649 root      20   0  161536   6236   4472 S   1.0  0.1   1:44.97 sshd                                                                                        
27888 root      20   0 8067700 666940   7924 S   0.7  8.3 172:58.41 java                                                                                     
31791 root      20   0  163160   3328   1584 S   0.7  0.0   0:48.64 top                                                                                          
    9 root      20   0       0      0      0 S   0.3  0.0  49:07.43 rcu_sched                                                                                              
   18 root      rt   0       0      0      0 S   0.3  0.0   0:25.01 migration/2                                                                                            
  738 root      16  -4   55532    688    564 S   0.3  0.0   2:53.40 auditd                                                                                          
 4450 root      20   0 7994632 957560   7080 S   0.3 12.0 962:33.79 java

找到最耗CPU的线程tid 

top -Hp 4209

[root@localhost ~]# top -Hp  4209
top - 16:17:48 up 135 days, 22 min,  2 users,  load average: 0.37, 0.33, 0.30
Threads: 517 total,   1 running, 516 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6.8 us,  3.2 sy,  0.0 ni, 89.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8008208 total,   160488 free,  6445808 used,  1401912 buff/cache
KiB Swap:  5242876 total,  3176956 free,  2065920 used.  1243720 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                          
 4255 root      20   0 6597640 613680   7252 R 34.1  7.7  34102:25 VM Thread                                                                                                                                        
 4750 root      20   0 6597640 613680   7252 S  0.3  7.7 104:43.30 com.alibaba.nac                                                                                                                                  
 4785 root      20   0 6597640 613680   7252 S  0.3  7.7  11:50.82 nacos.naming.mo                                                                                                                                  
 4919 root      20   0 6597640 613680   7252 S  0.3  7.7  51:00.99 com.alibaba.nac                                                                                                                                  
 4949 root      20   0 6597640 613680   7252 S  0.3  7.7 157:11.52 grpc-default-wo                                                                                                                                  
 8063 root      20   0 6597640 613680   7252 S  0.3  7.7  16:28.91 nacos-http-asyn

将线程pid转化为16进制

将第二步查询到高占用的pid转为16进制

printf '%x\n' 4255

[root@localhost ~]# printf '%x\n' 4255

109f

查询线程堆信息

# 匹配到的行的后面显示之后的 10 行内容
jstack 4209 | grep -A 10 109f 或者
# 匹配到的行的后面所有信息
jstack 4209 | grep  109f

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值