私はクライアントで簡単なプログラムを実行していますが、udpパケットをサーバーに送信し続けます。サーバーのインターフェイスはマルチキューのネットカードですが、udp4のrx-flow-hashをsdに設定しました。したがって、すべてのパケットは1つのCPUで生成されます。linux softirq cpuの使用が奇妙に見える
私は40Wpackets/sを受け取ると、そのCPUのCPUはsoftirqで1%のコストとなります。 60Wpackets/sを受け取ると、そのCPUのCPUのコストはsoftirqで8%になります。 私は90Wpackets/sを受け取ったとき、サーバはそのCPUをsoftirqで100%cosrします。
受信番号はしばらくの間sar -n UDP 1
を実行して取得します。 CPUコストはしばらくの間mpstat -P ALL 1
を経由します。
私はこれについて混乱しています。
なぜ線形ではないのですか?