首页/系统/Linux 内核与性能调优速查/软中断与 ksoftirqd 排查
CPU 与调度60 条

软中断与 ksoftirqd 排查

网络与块设备的收尾工作在软中断中完成;压力高时 ksoftirqd 线程接手处理,单核 si 高往往对应中断集中或包处理风暴。

累计计数/proc/softirqs
线程ksoftirqd/N 每核一个
视图mpstat 的 %soft / top 的 si

查看增量与线程

查看增量与线程
cat /proc/softirqs
watch -n1 "ps -eo pcpu,pid,comm | grep ksoftirq"
mpstat -P ALL 1 3

易错点

  • /proc/softirqs 是累计值,判断压力要看两次采样的差值
  • 软中断热点优先从网络中断亲和与 RPS 入手,而不是调高线程优先级

数据来源与参考

  • Linux 内核 Documentation/core-api/softirq.rst
  • procps/sysstat 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌