m4.x2large
アクティブなインスタンスを作成SR-IOV
し、いくつかのsipp
パフォーマンステストを実行した結果、top
コマンドはksoftirq/5
他のすべてのCPUの負荷が0%である100%
と主張し、すべてのCPU間でirqを共有しCPU5
たいことを確認しました。8
[root@ip-10-100-2-169 irqbalance]# cat /proc/interrupts | grep eth0
97: 2119 0 0 0 6581710 0 0 0 xen-pirq-msi-x eth0-TxRx-0
98: 576 87 0 0 0 1780987 0 0 xen-pirq-msi-x eth0-TxRx-1
99: 34 0 0 0 0 0 0 0 xen-pirq-msi-x eth0
mpstat(CPU5を見ることができます)
[root@ip-10-100-2-169 irqbalance]# mpstat -P ALL
Linux 3.10.0-514.el7.x86_64 (ip-10-100-2-169.us-west-2.compute.internal) 03/07/2017 _x86_64_ (8 CPU)
10:33:15 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
10:33:15 PM all 0.11 0.00 0.08 0.01 0.00 2.90 0.17 0.00 0.00 96.74
10:33:15 PM 0 0.07 0.00 0.12 0.01 0.00 0.00 0.12 0.00 0.00 99.68
10:33:15 PM 1 0.18 0.00 0.05 0.04 0.00 0.00 0.15 0.00 0.00 99.58
10:33:15 PM 2 0.08 0.00 0.04 0.01 0.00 0.00 0.18 0.00 0.00 99.69
10:33:15 PM 3 0.05 0.00 0.03 0.00 0.00 0.00 0.19 0.00 0.00 99.72
10:33:15 PM 4 0.13 0.00 0.06 0.00 0.00 0.00 0.18 0.00 0.00 99.63
10:33:15 PM 5 0.17 0.00 0.22 0.00 0.00 23.60 0.17 0.00 0.00 75.84
10:33:15 PM 6 0.09 0.00 0.05 0.00 0.00 0.00 0.16 0.00 0.00 99.70
10:33:15 PM 7 0.08 0.00 0.05 0.00 0.00 0.00 0.17 0.00 0.00 99.70
結果を見るためにデーモンを無効に/有効にしてみましたが、irqbalance
結果は同じです。すべてのCPUでイーサネットIRQ共有を共有する方法は?
答え1
IRQを使用可能なすべてのCPUに伝播するには、好みを変更する必要があります。
たとえば、IRQの好みを変更するにはeth0-TxRx-0
- 障害を負う
irqbalance
現在の好みを確認
# cd /proc/irq/97
# cat smp_affinity
CPUビットマスクをエコーして好みを変更する
# echo 0xffff > smp_affinity
/proc/interrupts
IRQ 97 確認
詳細については、次を参照してください。SMP IRQの好み