web-dev-qa-db-ja.com

ixgbeの高いネットワーク負荷時の高い%softCPU使用率

Intel 82598EB 10GBENICがあります。ネットワーク負荷は、多数の小さなサイズのUDPパケットで構成されています。 DDoSをシミュレートするために、別のサーバーから、最大100k ppsの小さなUDPパケット(わずか数メガビットの帯域幅)をプッシュしました。これを行うと、%soft CPU使用率が100%になり、サーバーが使用できなくなり、パケットがドロップされます。

カーネルは3.8.5、ixgbe 3.13.10です。割り込み率を下げるためにすでにいくつかの調整を行っていますが(rx-usecs:300)、問題は解決しませんでした。割り込み率が高くなくても、softirqがCPUを大量に使用する理由を確認する方法はありますか?

ありがとうございました!

5

私はこれが古いことを知っています。しかし、私は主に、同様の問題でここに来るユーザーに返信しています。

割り込みをチェックする方法はいくつかあります。

  • cat /proc/interruptsは、CPUおよびIOデバイスごとの割り込みを記録します。
  • grep cpu /proc/stat列6および7には、irqおよびsoftirq統計が含まれています。
  • topおよびhtop; siを観察し、htopをCPUの詳細表示モードに変更すると、sihiが表示されます。
  • 履歴データを取得するには、sysstat;をインストールします。特定の割り込みデータを取得するには、sar -I XALLを参照してください。
  • perfを使用することもできます。

これはドライバーの問題である可能性が高いため(またはNICが失敗している))、インターフェイスにoverrunsまたはerrorsがあるかどうかを確認します。ドライバーが更新されているかどうかはわかりません。

1
user101130