/proc/softirq
是软中断统计信息。是/proc/interrupt
硬中断和软中断同时存在还是只有硬中断?
我想粗略地测量每秒硬中断和软中断的速率watch -n 1 grep 'foo' /proc/softirq
,watch -n 1 grep 'bar' /proc/interrupt
这样我就可以比较硬件中断与软件中断的增加速率。
我想知道是否需要减去/proc/softirq
计数才能/proc/interrupt
获得硬件 IRQ 的计数,因为它对两种类型都进行计数,还是/proc/interrupt
仅对硬件进行计数?
答案1
软中断与硬件中断没有直接关系,它们是“下半部分”的后继者,也是微线程的前身。老人)破解 Linux 内核的不可靠指南有一个关于该主题的简短部分;我敢说其他地方有更好的资源。软中断列表定义在include/linux/interrupt.h
;您会看到它们不对应于单个硬件中断。
因此,您不应该/proc/softirq
从 中减去计数/proc/interrupts
。后者只统计硬件中断;这些当然也可能导致软中断被使用,但是没有简单的方法来确定相关性(例如网络适配器上的硬件中断和NET_RX
/或NET_TX
软中断之间)。