java程序cpu狂飙

有天突然收到腾讯云的告警关于cpu
告警
首先使用top命令查询具体进程比较吃cpu

[root@VM-32-6-centos ~]# top
top - 18:09:29 up 124 days,  5:05,  2 users,  load average: 5.75, 5.77, 5.57
Tasks:  95 total,   1 running,  94 sleeping,   0 stopped,   0 zombie
%Cpu(s): 93.3 us,  6.7 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8008956 total,   124800 free,  2470892 used,  5413264 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  5231448 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                            
11313 root      20   0 5556068   1.9g  14464 S 186.7 24.2 111:01.10 java                                                                                               
10247 root      20   0  755492  15784   2664 S   6.7  0.2 203:00.09 barad_agent                                                                                        
    1 root      20   0   43580   2936   1528 S   0.0  0.0  12:11.00 systemd  

明显java程序比较吃cpu
然后查看Java程序的进程,找到是那些线程在吃cpu

[root@VM-32-6-centos ~]# jps
11313 hongmeng_autorule-2023-08-08_09_07.jar
# 查看具体线程池cpu
ps p 16494 -L -o pcpu,pmem,pid,tid,time,tname,cmd
# 将线程id转化为十六进制
printf "%x\n" 17417
# 生成jstack文件
jstack -l 16494 > jstack.log
# 线程堆栈
vim jstack.log

找到具体代码
业务异常
发现这块业务有问题一直死循环查数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值