ksoftirqd進程導致cpu消耗殆盡

 今天晚上發現某臺linux軟路由負載突然升高,8核CPU飆升至8的負載應該算是很高了,排查CPU使用非常厲害,8核中有6核均爲0%。通過top命令顯示CPU使用最高的四個進程均是ksoftirqd(分別是ksoftirqd/0,ksoftirqd/1,ksoftirqd/2,ksoftirqd/3),檢查流量並沒有升高,跟平時水平差不多,非常匪夷所思。

由於消耗太多通過平衡CPU中斷的方法已經沒有辦法阻止了。

突然想起來前兩天在iptables上添加了單IP連接數限制,於是懷疑跟它有關。使用iptables -vnL檢查iptables

Chain FORWARD (policy ACCEPT 761G packets, 477T bytes)
 pkts bytes target     prot opt in     out     source               destination         
  50M 5790M REJECT     tcp  --  *      *       10.x.0.0/16        0.0.0.0/0           #conn/32 > 500 reject-with icmp-port-unreachable 
  56M 4581M REJECT     tcp  --  *      *       10.x.0.0/16        0.0.0.0/0           #conn/32 > 500 reject-with icmp-port-unreachable 
2666K  208M REJECT     tcp  --  *      *       10.x.0.0/16        0.0.0.0/0           #conn/32 > 500 reject-with icmp-port-unreachable 
  18M  976M REJECT     tcp  --  *      *       10.x.0.0/16        0.0.0.0/0           #conn/32 > 500 reject-with icmp-port-unreachable 
14112  745K REJECT     tcp  --  *      *       10.x.0.0/16        0.0.0.0/0           #conn/32 > 500 reject-with icmp-port-unreachable 
    0     0 REJECT     tcp  --  *      *       10.x.0.0/16        0.0.0.0/0           #conn/32 > 500 reject-with icmp-port-unreachable

於是使用 ksoftirqd  -F FORWARD清空轉發表

於是恢復正常了

網上查了一些案例也是跟iptables有關係,不過我的vyatta路由器跑的不錯,改天把這臺centOS 5.4重裝了吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章