linux 網絡卡軟中斷的檢視與設定負載均衡
阿新 • • 發佈:2019-01-09
在使用 cat /proc/irq/95/smp_affinity cat /proc/irq/smp_affinity 等看出網絡卡的佇列都在使用cpu1 和cpu2
- cat /proc/irq/95/smp_affinity
- 00000002
- cat /proc/irq/96/smp_affinity
- 00000004
好了,把空閒的cpu用上來分攤網絡卡中斷
- echo 08 > /proc/irq/97/ smp_affinity
- echo 10 > /proc/irq/98/ smp_affinity
- ...
再進行測試,發現cpu消耗整體還不夠均衡,TOP下使用f,然後再加j,發現應用程序使用的cpu與網絡卡中斷使用的cpu重合,再把單執行緒應用程序繫結到其他CPU,終於均衡下來。
最後,網絡卡軟中斷繫結cpu需要滿足幾個條件:1 linux核心版本必須在2.4+; 2 網絡卡對應的中斷控制器必須是IO-APIC晶片,且需啟用IO-APIC;3 部分CPU可能不支援。
其它參考:
例項:
在自己的linux機器上:
1. mpstat -P ALL 1 或 mpstat -I SUM -P ALL 1(有的機器得用這個命令),top命令也可以