在 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 绑定到 CPU1irq=5 内核参数)。top 或 mpstat -P ALL 1 查看 CPU 的 %irq 使用率,优化驱动或调整亲和性。通过理解中断号,可以更高效地调试硬件问题或优化系统性能。如果需要操作具体设备的中断,务必查阅硬件手册和内核文档(如 Documentation/IRQ.txt)。