在 Linux 系统中,中断号(IRQ, Interrupt Request Number) 是硬件设备向处理器发送中断请求的唯一标识符,用于通知 CPU 有紧急事件需要处理(如键盘输入、磁盘 I/O 完成等)。以下是详细解释:
0-15
(传统 ISA 设备)或 0-255
(现代 PCI/PCIe 设备)。int 0x80
或 syscall
)。/proc/interrupts
文件:
bash
cat /proc/interrupts
输出示例:
CPU0 CPU1
0: 16 0 IO-APIC 2-edge timer
1: 9 0 IO-APIC 1-edge i8042
8: 1 0 IO-APIC 8-edge rtc0
lspci -v
命令:
查看 PCI 设备的中断分配情况。smp_affinity
文件绑定中断到特定 CPU 核心,优化多核性能:
bash
echo 2 > /proc/irq/24/smp_affinity # 将 IRQ 24 绑定到 CPU1
irq=5
内核参数)。top
或 mpstat -P ALL 1
查看 CPU 的 %irq
使用率,优化驱动或调整亲和性。通过理解中断号,可以更高效地调试硬件问题或优化系统性能。如果需要操作具体设备的中断,务必查阅硬件手册和内核文档(如 Documentation/IRQ.txt
)。