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重装了吧。

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