man ksoftirqd 表示:
如果 ksoftirqd 占用的 CPU 时间超过一小部分,则表明机器处于较重的软中断负载之下。
我正在使用 Debian Wheezy 系统,系统利用率普遍较高,其中 ksoftirqd 进程在短时间内使用过多的 cpu 和磁盘资源。在此期间,系统以蜗牛般的速度运行。
如何开始了解 ksoftirqd 资源利用率激增的根本原因是什么?
答案1
检查/proc/interrupts
一个或多个中断是否过度发生。提示:每秒数千次中断无需引起恐慌。
过多的中断(又名中断风暴)可能有多种原因,其中之一甚至是硬件问题(嘈杂的中断线)。
为了进一步回答您的问题,我们需要知道您使用的硬件上的操作系统。
答案2
除了监视/proc/interrupts
和/proc/softirqs
检查与您所看到的非常活跃的 kthread 的亲和力相匹配的 CPUx 列之外,您还可以通过短时间ksoftirqd/x
运行来更详细地查看它。perf record
例子:
perf record -C 6 -g -- sleep 30
perf report
-C 6
同样,如果ksoftirqd/6
CPU 使用率高,则使用,否则指定另一个 CPU 核心。
理论上,您也可以使用perf top
,但有时我会使用 得到更好/更准确的结果perf record
。