目的
相比使用内核的irqbalance使网卡中断在所有核上进行调度,使用手动绑核将中断固定住能有效提高业务网络收发包的能力。
方法
- 关闭irqbalance。
若要对网卡进行绑核操作,则需要关闭irqbalance。
- 停止irqbalance服务,重启后会失效。
|
systemctl stop irqbalance.service
|
- 关闭irqbalance服务,永久有效。
|
systemctl disable irqbalance.service
|
- 查看irqbalance服务状态是否已关闭。
|
systemctl status irqbalance.service
|
- 查看网卡pci设备号,假设当前网卡名为enp131s0。

- 查看pcie网卡所属NUMA node。

- 查看NUMA对应哪些CORE。

假设位于numa1,我们把上节中设置好的4个网卡队列绑定到numa1节点的最后4个CPU,即60-63 CORE上。
- 新建一个shell脚本,在脚本内复制以下内容来进行绑核。其中$1是网卡名称,即上面的enp131s0。
|
# /bin/bash
t=60
for i in `cat /proc/interrupts |grep -e $1 |awk -F ':' '{print $1}'`
do
cat /proc/irq/$i/smp_affinity_list
echo $t > /proc/irq/$i/smp_affinity_list
cat /proc/irq/$i/smp_affinity_list
t=`expr $t + 1`
done
|