【异常】记一次,排查docker容器的微服务,CPU飙高问题

本文记录了一次针对docker容器内微服务CPU使用率达到733%的排查过程。通过进入容器,查找异常进程及线程,利用jstack定位到16进制线程号对应的异常代码位置,发现并修复了一个while死循环问题。在排查过程中,还解决了jstack命令执行权限不足的问题。
摘要由CSDN通过智能技术生成

项目时 以docker为容器的 微服务项目。 其中一个docker容器,CPU很高。所以需要排查一下问题。

[root@service-slave2 ~]# docker stats
CONTAINER ID        NAME                                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS                                                                                              NAMES
fa4b3663ece4        keda6-slave2-information-plan       733.45%             919MiB / 1.5GiB     59.83%              909MB / 748MB       0B / 0B             217

CPU达到 733%
1、进入容器,查看 进程号

[root@service-slave2 ~]# docker exec -it fa4b3663ece4 bash
[root@slave2_information_plan project]# top
top - 11:13:50 up 11 days, 23:26,  0 users,  load average: 44.96, 41.39, 39.79
Tasks:  13 total,   1 running,  12 sleeping,   0 stopped,   0 zombie
%Cpu(s): 96.8 us,  0.8 sy,  0.0 ni,  2.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 64757920 total,   571656 free, 28601872 used, 35584392 buff/cache
KiB Swap: 33554428 total, 29073788 free,  4480640 used. 29747760 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                                                 
  8156 root      20   0 6311560 879272  13592 S 706.2  1.4   6122:00 java                                                                                                                                                                                                    
     1 root      20   0   43272   3072   2392 S   0.0  0.0   0:00.40 systemd                                                                                                                                                                                                 
    17 root      20   0   47276   9424   9308 S   0.0  0.0   0:00.81 systemd-journal                                                                                                                                                                                         
    28 root      20   0   41628   1392   1276 S   0.0  0.0   0:00.15 systemd-udevd                                                                                                                                                                                           
    66 root      20   0   26384   1600   1460 S   0.0  0.0   0:00.06 systemd-logind                                                                                                                                                                                          
    67 dbus      20   0   58112   2008   1824 S   0.0  0.0   0:00.01 dbus-daemon                                                                                                                                                                                             
    81 root      20   0  112924   3524   3332 S   0.0  0.0   0:00.13 sshd                                                                                                                                                                                                    
    83 root      20   0    9924    724    720 S   0.0  0.0   0:00.00 agetty                                                                                                                                                                                                  
  8158 root      20   0   13000    828    632 S   0.0  0.0   0:00.48 sh                                                                                                                                                                                                      
  8172 root      20   0 3131584  72224  12544 S   0.0  0.1   1:05.19 jstatd                                                                                                                                                                                                  
 15282 root      20   0   15244   2072   1656 S   0.0  0.0   0:00.01 bash                                                                                                                                                                                                    
 15324 root      20   0    7772    356    280 S   0.0  0.0   0:00.00 sleep                                                                                                                                                                                                   
 15327 root      20   0   59616   2060   1488 R   0.0  0.0   0:00.00 top       

2、使用top -H -p 进程号查看异常线程、查看线程

[root@slave2_information_plan project]# top -H -p 8156
top - 11:14:20 up 11 days, 23:26,  0 users,  load average: 39.80, 40.49, 39.54
Threa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值