知其然,更要知其所以然, ksoftirqd 进程会导致 CVM CPU 99%,背后的凶手是谁,让我们逐步揭开这个面纱。
业务表现:API请求变慢,影响用户访问。
业务请求慢,首先查看对应服务器的资源占用情况,发现 ksoftirqd/0 进程 CPU 使用率为99.2%,是什么原因导致的呢?
top - 16:48:51 up 1 day, 19:13, 1 user, load average: 1.52, 1.93, 2.04
Tasks: 162 total, 4 running, 158 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi,100.0 si, 0.0 st
%Cpu1 : 5.4 us, 2.3 sy, 0.0 ni, 90.0 id, 0.0 wa, 0.0 hi, 2.3 si, 0.0 st
MiB Mem : 1720.9 total, 175.1 free, 720.8 used, 825.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 844.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10 root 20 0 0 0 0 R 99.2 0.0 2415:06 [ksoftirqd/0]
问了 GPT,可能原因如下,先从网络流量上开始排查。
ksoftirqd/0
进程是一个内核线程,它负责处理第一个CPU(CPU0)上的软中断。当ksoftirqd/0
的CPU使用率异常高时(在这个案例中为99.2%),通常意味着系统正在处理大量的软中断。这种情况通常与网络流量处理有关,但也可能涉及其他类型的系统活动。
以下是一些排查ksoftirqd/0
高CPU使用率的步骤:
iftop
、nload
或iptraf
等工具来监控网络流量。/proc/softirqs
文件来查看软中断的统计信息,这可以帮助识别是否有特定类型的软中断负载异常高。perf
或htop
等工具进行更深入的系统性能分析,可能会揭示更多信息。/var/log/messages
或使用dmesg
命令查看内核日志,可能会发现一些导致高CPU使用率的线索。iptraf - 交互式彩色界面的网络监控工具。
安装 iptraf:
yum install iptraf
马上发现问题了, ICMPv6 的包太多了
在安全组中禁止 icmpv6 协议,问题搞定了,CPU马上降下来了,请求也正常了。
有问题就有原因,有答案,解决即可。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。