前言
目前的主流服务器都拥有较多的CPU,2 NUMA node情况下,打开HyperThread,CPU数量通常都在40、64、96、128、192、256左右。
作者经常进行性能分析工作,经常需要分析中断的情况。常用命令
watch -d -n 1 "cat /proc/interrupts " 进行观察各个中断的增量情况,但是在CPU数量较多,且网卡多对列打开的情况下,数据显示简直就是灾难。
为此,开发了一个中断性能监控工具---irqtop。
分析
原始的irqtop
地址在:https://github.com/pacepi/irqtop
代码中会采集/proc/interrupts的数据,进行做差运算以及按照增量、名称等排序。效果类似top命令,如下
和util-linux的maintainer(Karel Zak)沟通,决定把这个工程合入到util-linux工程中,作为基础的linux命令,简化用户使用的安装/使用成本。同时,为了更好的展示irq信息,Karel提议拆分成为两个命令:lsirp和irqtop。
utli-linux中的irqtop和lsirq
lsirq更多的是一个静态的工具,扫描irq信息,聚合数据输出,支持中断模式和json输出、key-value输出,为其他的监控工具集成提供了一定的方便。默认输出示例
lsirq的json输出示例
lsirq key-value输出示例
irqtop输出示例
结束语
欢迎下载util-linux的最新代码,体验、试用irqtop/lsirq工具。有新的需求可以在这里留言联系作者。