Je cours un programme simple dans un client, il continue à envoyer le paquet d'udp à un serveur. L'interface du serveur est une netcard multi-file, mais j'ai mis son rx-flow-hash de udp4 à sd. Donc tout le paquet sera produit dans un CPU.L'utilisation de cpu de linux softirq semble étrange
Lorsque je reçois 40Wpackets/s, le processeur de ce serveur coute 1% dans softirq. Lorsque je reçois 60Wpackets/s, le processeur de ce serveur coûte 8% dans softirq. Lorsque je reçois 90Wpackets/s, le serveur de ce processeur est 100% dans softirq.
Le numéro reçu est obtenu via l'exécution sar -n UDP 1
pendant un moment. Le coût du processeur est obtenu via mpstat -P ALL 1
pendant un moment.
Donc, je suis confus à ce sujet.
Pourquoi ce n'est pas linéaire?