我想在我的虚拟机系统上对中断(irq 75)进行负载平衡。它有64位redhat 5.8,内核2.6.18。虚拟机中有8个CPU。
当我跑步时:
cat /proc/interrupts
75: 9189 0 0 0 0 0 0 0 IO-APIC-level eth0
我看到IRQ 75仅用于CPU0。然后我改变了irq 75的smp_affinity。
echo ff > /proc/irq/75/smp_affinity
cat /proc/irq/75/smp_affinity
00000000,00000000,00000000,00000000,00000000,00000000,00000000,000000ff
但是我看到irq 75的中断仅使用CPU0。
75: 157228 0 0 0 0 0 0 0 IO-APIC-level eth0
CPU之间没有irq平衡。我想将所有中断(irq 75)分配给所有CPU,我做错了吗?
答案 0 :(得分:2)
该值以位掩码的十六进制表示,通常为64位
irqbalance
echo 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000002 > /proc/irq/75/smp_affinity
答案 1 :(得分:0)
如果您使用的是vmware,将以太网驱动程序更改为VMXNET3,则会出现以下中断:
cat /proc/interrupts | grep eth3
57: 0 0 0 0 5 101198492 0 0 PCI-MSI-edge eth3-rxtx-0
58: 0 0 0 0 0 2 82962355 0 PCI-MSI-edge eth3-rxtx-1
59: 0 0 0 0 0 0 1 112986304 PCI-MSI-edge eth3-rxtx-2
60: 120252394 0 0 0 0 0 0 1 PCI-MSI-edge eth3-rxtx-3
61: 1 118585532 0 0 0 0 0 0 PCI-MSI-edge eth3-rxtx-4
62: 0 1 151440277 0 0 0 0 0 PCI-MSI-edge eth3-rxtx-5
63: 0 0 1 94639274 0 0 0 0 PCI-MSI-edge eth3-rxtx-6
64: 0 0 0 1 63577471 0 0 0 PCI-MSI-edge eth3-rxtx-7
65: 0 0 0 0 0 0 0 0 PCI-MSI-edge eth3-event-8
你会有不同的" rxtx"队列,每个队列分配给一个CPU。 在我的情况下,负载在所有CPU之间变得平衡。