概要
EC2上のLinux(CentOS6.6、kernel: 2.6.32-504)でirqbalanceがうまく動いていないように見えたので調べてみた。
結論から言うと、利用していたirqbalanceのバージョンが古くて下記が適用されていなかったため、EC2環境上では正しく割り込みが分散されていなかった模様。
おおざっぱな調査ログ
1. /proc/irq/[IRQ]/smp_affinityを適当に変更してみる。
# echo 2 > /proc/irq/[IRQ]/smp_affinity
2. /proc/interruptsを確認する → 変更されている。SMP IRQ affinityは設定可能。
# less /proc/interrupts
3. irqbalanceを起動して負荷をかけてみる → 1.の設定から変更されず
# service irqbalance start
4. irqbalance最新版をソースからビルドしてインストール → 変更された!!
まとめ
EC2 Linux上でPVドライバを使っている場合は、下記適用済irqbalanceを使わないとEC2基盤側やゲストOSに問題がなくてもirqbalance自体は動作してくれない。
今回は古めのirqbalanceが問題であった。環境が変わればirqbalance、SMP IRQ affinity周りについては他の問題にぶつかるのだがそれはpart2以降で。。