首页 游戏 软件 资讯 排行榜 专题
首页
系统平台
Linux怎么查看系统的中断频率 Linux性能分析之软中断详解

Linux怎么查看系统的中断频率 Linux性能分析之软中断详解

热心网友
69
转载
2026-04-30

Linux怎么查看系统的中断频率 Linux性能分析之软中断详解

Linux怎么查看系统的中断频率 Linux性能分析之软中断详解

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

排查系统性能时,中断频率是个绕不开的指标。但怎么判断中断是不是真的“高”了?这里有个关键提醒:/proc/interrupts里的每秒增量,而不是那个静态的累计值。 比如,如果eth0这一行在1秒内增加了1111次,那才叫高频;如果只涨了3次,大概率只是正常流量,不必紧张。

怎么看/proc/interrupts里中断是否真在高频触发

直接cat /proc/interrupts看到的数字是累计值,意义不大。真正的门道在于观察它“每秒涨多少”。举个例子,如果eth0的计数从1234567跳到了1235678,意味着1秒内触发了1111次中断,这才算得上高频事件。如果只涨了3次,那基本可以判定是正常流量,无需过度干预。

具体操作时,可以把握这几个要点:

  • 动态监控是关键:使用命令 watch -n 1 'grep eth0 /proc/interrupts' 锁定你的网卡行,重点观察最后一列数字的跳变幅度。千万别扫一眼就下结论。
  • 关注CPU分布:仔细看各CPU列的数值。如果只有CPU0在疯狂增长,其他核心几乎不动,那问题很可能不是中断频率太高,而是中断绑定不均衡,全压到一个核心上了。
  • 结合硬件能力判断:设备配置本身可能就是瓶颈。比如,给万兆网卡只配了单个MSI中断向量,那eth0行的数值必然暴涨。动手前,先通过ls /sys/class/net/eth0/device/msi_irqs/看看它到底有几个IRQ,再评估这个数量是否合理。

/proc/softirqs里哪几列最值得盯

在软中断的世界里,NET_RXTIMERSCHED这三列是风暴预警的头号指标,尤其是NET_RX。需要明确的是,它反映的不是硬件中断次数,而是内核收包后的延迟处理任务。一旦它的每秒增长超过10万次,基本上就可以断定网络路径上出了问题。

具体可以这么操作:

  • 锁定核心指标:执行 watch -n 1 'cat /proc/softirqs | grep -E "^(NET_RX|TIMER|SCHED):"',观察这些数值是否在单个核心上线性飙升。
  • 对比分析找线索:如果NET_RX很高但NET_TX很低,可能是接收队列溢出了,或者RPS(Receive Packet Steering)没有启用。如果TIMERSCHED同时飙高,那更可能是调度器被大量短时任务拖住了,问题根源未必在中断本身。
  • 避免常见误读:别把HI:(hardirq)列当成硬件中断的替代指标。它只是硬中断上下文切换的计数,要了解具体哪个设备在“搞事情”,还得回去看/proc/interrupts

为什么vmstatin列和/proc/interrupts对不上

这其实是个典型的“鸡同鸭讲”。vmstat 1输出的in列,是系统每秒发生的总中断次数(聚合了所有CPU),而/proc/interrupts显示的是每个CPU分开统计的累计值。两者的单位、统计维度,甚至采样时机都完全不同——in来自内核tick计数器的快照,而/proc/interrupts是直接读取原子累加寄存器的值。

面对这种差异,正确的思路是:

  • 关注趋势,而非绝对数值:当vmstat显示in持续高于5000/秒,并且上下文切换cs也同步飙升时,优先做的是去/proc/interrupts里定位具体的IRQ号,而不是纠结为什么两个数值对不上几百的差额。
  • 结合其他指标解读:如果in高的同时r(就绪队列长度)也高,说明硬中断太多,CPU忙不过来处理用户任务。如果in高伴随着b(阻塞进程数)高,那更可能是I/O设备响应慢,中断频发只是这个根本问题的表象。
  • 选对工具:不要用vmstat -s输出的那个“interrupts”总数来做实时分析,那只是一个开机以来的累计值,根本无法反映系统瞬时的压力状态。

中断频率异常时,第一个该查的不是驱动,而是亲和性设置

经验表明,九成所谓的“中断频率高”案例,真相其实是“所有中断都打到了同一个CPU上”,设备本身可能并没忙到那个程度。Linux内核默认并不会自动把网卡中断分散到多个核心,这事儿得靠手动设置smp_affinity或者配合RPS来完成。

排查时,建议按这个顺序来:

  • 先确认现状:找到eth0对应的IRQ号(grep eth0 /proc/interrupts | awk '{print $1}'),然后查看它的亲和性设置:cat /proc/irq//smp_affinity_list
  • 再进行调整:如果输出是0,说明中断只绑在了CPU0上。想把它分散到CPU0到CPU3,可以(以root权限)执行:echo 0-3 > /proc/irq//smp_affinity_list
  • 别忘了软中断:改完硬中断亲和性,必须配合启用RPS,否则网络软中断还是会集中在原来的CPU上。对于8核系统,可以设置:echo f > /proc/sys/net/core/rps_cpu_mask

话说回来,在实际排查中,最容易被人跳过的一步,就是验证MSI-X向量的数量,以及确认RPS是否真正生效。 这两步基础工作不做,后面调再多内核参数,很可能都是白费力气。

来源:https://www.php.cn/faq/2396000.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Linux怎么限制普通用户权限 Linux下Restricted Shell详解
系统平台
Linux怎么限制普通用户权限 Linux下Restricted Shell详解

Linux怎么限制普通用户权限 Linux下Restricted Shell详解 rbash 启动后为什么 cd 报错? 很多朋友第一次接触受限Shell(Restricted Shell)时,都会遇到一个直观的困惑:为什么一执行cd命令就报错?提示往往是bash: cd: restricted。

热心网友
04.30
Linux如何彻底卸载已安装的服务 检查残留文件
系统平台
Linux如何彻底卸载已安装的服务 检查残留文件

Linux如何彻底卸载已安装的服务 检查残留文件 在Linux系统里卸载一个服务,很多人以为敲个apt remove或者yum erase就完事了。这其实是个常见的误区。**卸载服务不等于卸载软件包,不清理残留文件,后续重装失败、端口冲突或者systemd报错几乎是必然的。** 这事儿必须分三步走:

热心网友
04.30
告别锁竞争:Linux 内核 Seqlock顺序锁机制解析
业界动态
告别锁竞争:Linux 内核 Seqlock顺序锁机制解析

在并发编程的广袤世界里,锁机制始终占据着举足轻重的地位,堪称保障数据一致性与程序正确性的中流砥柱。当多个线程或进程如汹涌浪潮般同时访问共享资源时,若缺乏有效的协调与管控,数据混乱、竞态条件等问题便会接踵而至,程序的稳定性与可靠性也将遭受严重威胁。 尤其是在Linux内核这类高并发场景中,锁竞争始终是

热心网友
04.30
Xrender支持哪些图形格式
编程语言
Xrender支持哪些图形格式

xrender支持的图形格式 核心说明 首先得澄清一个常见的误解:xrender本身并不是一个图像解码库。它实际上是X Window System的一个渲染扩展,主要负责提供抗锯齿、路径绘制、渐变、合成这些高级的2D渲染能力。那么,图片是怎么显示出来的呢?通常,应用程序会先用其他专门的库(比如处理P

热心网友
04.29
怎样用nginx日志解决跨域问题
编程语言
怎样用nginx日志解决跨域问题

如何通过Nginx配置解决跨域问题:从原理到实战 开门见山地说,试图直接利用Nginx日志来解决跨域问题,这个思路本身存在误区。Nginx日志的核心作用是什么?它本质上是一个“记录系统”,负责详尽记录每一次访问详情与错误信息,但其本身并不具备主动配置或修复跨域问题的能力。跨域问题的根源在于浏览器的同

热心网友
04.29

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

滚筒洗衣机如何拆洗内桶最彻底?
电脑教程
滚筒洗衣机如何拆洗内桶最彻底?

滚筒洗衣机内桶最彻底的清洁方式 想给滚筒洗衣机内桶来一次真正彻底的清洁?答案只有一个:规范拆解,进行物理级的深度清洗。这可不是简单扔两包清洁剂就能搞定的事,它需要一套严格的技术流程——从断电断水开始,到分步拆卸、精准复装,每一步都马虎不得。核心步骤是:先拆外壳和前封板,再处理门锁和外筒固定结构,接着

热心网友
04.30
opporenocolor11系统可以升级ColorOS几
电脑教程
opporenocolor11系统可以升级ColorOS几

OPPO Reno11系列ColorOS 15 0正式版升级指南与体验解析 好消息来了!OPPO Reno11系列,包括Reno11 5G和Reno11 Pro 5G,现在已经可以升级到ColorOS 15 0正式版了。官方已经为符合条件的用户开放了“新版本尝鲜”通道。不过,升级前有个硬性门槛:你的

热心网友
04.30
老年助听器怎么安装?
电脑教程
老年助听器怎么安装?

老年助听器的安装:一套始于专业、终于适应的科学闭环 很多人以为,给老人戴上助听器,就像戴上一副老花镜那么简单。其实不然。一套真正有效的助听方案,远不止“开机出声”这么简单,它是一套环环相扣的科学流程:从专业的听力验配开始,到个体化的设备适配,再到循序渐进的听觉适应,三者缺一不可。这个过程,始于持证听

热心网友
04.30
以太坊7月收益减半怎么算
web3.0
以太坊7月收益减半怎么算

以太坊7月收益减半怎么算 先说一个核心结论:即将到来的以太坊收益减半,其核心逻辑在于验证者从每个区块中获得的基础共识奖励,将被直接砍掉一半。当然,这并非简单的“腰斩”,因为最终落到个人口袋里的年化收益率,是基础奖励、全网质押总量、Gas费以及MEV(最大可提取价值)收益共同作用的结果。综合来看,个人

热心网友
04.30
CentOS Python数据分析怎么实现
编程语言
CentOS Python数据分析怎么实现

在CentOS系统上实现Python数据分析 想在CentOS服务器上搭建一套高效、稳定的Python数据分析环境?对于许多开发者和数据团队而言,在Linux生产环境中部署数据分析平台是常见需求。本文将提供一份经过验证的、从零开始的详细配置指南,帮助您在CentOS系统上快速构建专业的Python数

热心网友
04.30