内核-软中断ksoftirqd/n 占用CPU 过高排查

软中断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 队列后正常。

现象和解决方案如此,

你可能感兴趣的:(内核-系统)