配置网卡中断绑核
目的
相比使用内核的irqbalance使网卡中断在所有核上进行调度,使用手动绑核将中断固定住能有效提高业务网络收发包的能力。
方法
- 关闭irqbalance。若要对网卡进行绑核操作,则需要关闭irqbalance。
- 停止irqbalance服务,重启后会失效。
1
systemctl stop irqbalance.service
- 关闭irqbalance服务,永久有效。
1
systemctl disable irqbalance.service
- 查看irqbalance服务状态是否已关闭。
1
systemctl status irqbalance.service
- 停止irqbalance服务,重启后会失效。
- 查看网卡pci设备号,假设当前网卡名为enp131s0。
1
ethtool -i enp131s0
- 查看pcie网卡所属NUMA node。
1
lspci -vvvs <bus-info>
- 查看NUMA对应哪些CORE。
1
numactl -H
假设位于numa1,我们把上节中设置好的4个网卡队列绑定到numa1节点的最后4个CPU,即60-63 CORE上。
- 新建一个shell脚本,在脚本内复制以下内容来进行绑核。其中$1是网卡名称,即上面的enp131s0。
1 2 3 4 5 6 7 8 9
# /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
父主题: 硬件优化