项目时 以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