軟中斷ksoftirqd/n 占用CPU 過高排查
8 root 20 0 0 0 0 R 75.2 0.0 411:04.48 ksoftirqd/0
168 root 20 0 0 0 0 R 28.7 0.0 42:20.27 ksoftirqd/26
30194 squid 20 0 12.634g 5.565g 6132 S 7.3 2.2 25:15.10 squid
嘗試使用網卡綁核無效,使用perf 分析高點為 tcp_transmit_skb,說明是發包頻繁觸發軟中斷,考慮我們使用BBR 傳輸算法 4.14 版本使用的是hrtimer + tasklet 軟中斷,修改BBR high_gain 參數亦無用,軟中斷觸發頻率太高,沒有平滑 pacing?
沒有修改過應用層,底層沒有平滑?
檢視tc qdisc 發現使用的是pfifo_fast ,原先設定的為fq ,重新開機後失效,重新設定
tc qdisc add dev bond0 root fq
使用FQ 隊列後正常。
現象和解決方案如此,