PU核心上,或者启用irqbalance服务来自动绑定IRQ到CPU核心上。
IRQ Balance
Irqbalance是一个linux的实用程序,它主要是用于分发中断请求到CPU核心上,有助于性能的提升。它的目的是寻求省电和性能优化之间的平衡。你可以使用yum进行安装:
# rpm -qa | grep irqbalance
irqbalance-0.55-15.el5
# yum search irqbalance
# yum install irqbalance.x86_64
启动irqbalance服务后,中断在CPU上的分布如下:
# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 950901695 0 0 0 IO-APIC-edge timer
1: 13 0 0 0 IO-APIC-edge i8042
6: 96 10989 470 0 IO-APIC-edge floppy
7: 0 0 0 0 IO-APIC-edge parport0
8: 1 0 0 0 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
12: 109 1787 0 0 IO-APIC-edge i8042
15: 99 84813914 0 0 IO-APIC-edge ide1
51: 17371 0 46689970 0 IO-APIC-level ioc0
67: 1741 0 0 225409160 PCI-MSI eth0
83: 0 0 0 0 PCI-MSI vmci
NMI: 0 0 0 0
LOC: 950902917 950903742 950901202 950901400
ERR: 0
MIS: 0
Irqbalance对于包含多个核心的系统来说是非常有用的。因为通常中断只被第一个CPU核心服务。