如何将网卡中断绑定到特定cpu

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将网卡中断绑定到特定cpu相关的知识,希望对你有一定的参考价值。

参考技术A   第一步:按Ctrl+Pause快捷键打开“系统属性”,再依次单击“硬件→设备管理”打开设备管理器。
  第二步:在设备管理器中,展开“网络适配器”,双击网卡设备打开网卡的设备属性,并在“资源”选项卡的“资源设置”列表中选择“中断请求”,然后取消“使用自动的设置”复选框。
  第三步:单击“更改设置”按钮,重新为网卡分配一个IRQ值,直到“冲突设备列表”显示为“没有冲突”即可

如何查看linux软中断信息

先说说环境1.硬件:DELL R410
2.网卡:板载1000M BCM5709
2.OS: RHEL 5.5 x86_64
3.KERNEL: 2.6.18-194.el5
所出现的问题
1.网卡毫无征兆的down掉,而且没有任何log信息
2.当流量增大时,不到理论上限的1/3时机器出现网络延迟严重,伴随大量的丢包
3.机器的cpu软中断不均衡,只有1个cpu处理软中断,并且该cpu的软中断周期性的达到100%
4.内外网网卡做nat丢包数据量不一致,差别很大,不在同一个数量级
想必第一个问题,大部分使用bcm网卡,rhel 5.3以后得机器都会遇到这种情况,网上的资料比较的多,我也不多啰嗦了,直接升级网卡驱动就可以解决了。第二,三,四其实是同一个问题都是由于网卡中断过多,cpu处理不过来(准确的说,cpu分配不均衡,导致只有一个cpu处理,处理不过来),引起丢包,那么为什么两个网卡丢包的数量级不一样呢,下面从原理上进行解释,既然是做nat多出口,那么就有大量的路由信息,是一个网络应用,当一个数据包请求nat时,数据包先被网卡驱动的数据接收,网卡收到数据时,触发中断。在中断执行例程中,把skb挂入输入队列,并触发软中断。稍后的某个时刻,当软中断执行时,再从该队列中把skb取下来,投递给上层协议。
参考技术A watch -d -n 1 'cat /proc/softirqs'
使用此命令,可以查看中断信息。

以上是关于如何将网卡中断绑定到特定cpu的主要内容,如果未能解决你的问题,请参考以下文章

网卡可以绑定cpu提高吞吐量

网卡多队列

多队列网卡介绍

如何关闭linux smp中断

linux 多进程绑定问题

关于linux 软中断对网卡性能的影响以及优化