ksoftirqd 高占用但 net_rx/softnet 正常的 timer / block softirq 分析-SQL

ksoftirqd CPU 占用高但 net_rx/softnet 不涨,说明软中断高负载来自 TIMER 或 BLOCK 类型而非网络收包;通过 /proc/softirqs 观察其短时增量并结合 perf 分析调用栈可定位根因。

为什么 ksoftirqd CPU 占用高,但 net_rx/softnet 却不涨?

这说明软中断(softirq)的高负载并非来自网络收包路径(NET_RX),而是其他 softirq 类型在持续触发,最常见的是 TIMER 和 BLOCK 。Linux 内核中 softirq 是按类型独立调度的,ksoftirqd 线程会轮询所有 pending 的 softirq 位图,哪怕只有 TIMER 或 BLOCK 长期置位,也会导致其持续运行、CPU 占用飙升。

如何确认是 TIMER / BLOCK softirq 引发的?

直接看 /proc/softirqs 各列累计计数,重点关注 TIMER 和 BLOCK 行在短时间内的增量:

watch -n 1 'grep -E "^(TIMER|BLOCK)" /proc/softirqs'

若某 CPU 的 TIMER 或 BLOCK 计数每秒增长数百甚至上千,而 NET_RX 几乎不动,基本可锁定问题来源。注意:该文件显示的是**自启动以来的总次数**,必须观察差值;同时要结合 top -H -p $(pgrep ksoftirqd) 看具体哪个 CPU 上的 ksoftirqd/N 在跑满。

TIMER softirq 持续高触发的典型原因

TIMER softirq 由内核定时器到期后触发,高频触发往往意味着有大量短周期 timer 在反复注册/触发,或存在 timer 延迟堆积:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » ksoftirqd 高占用但 net_rx/softnet 正常的 timer / block softirq 分析-SQL
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4027775+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4027775+
  • 本周更新: 0+
  • 最后更新: 2026-03-16