---
title: 配置网卡中断绑核
description: "相比使用内核的irqbalance使网卡中断在所有核上进行调度，使用手动绑核将中断固定，能有效提高业务网络收发包的能力。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Spark/kunpengspark2xhdpeu_05_0013.html
sourcePath: /source/zh/kunpengbds/ecosystemEnable/Spark/kunpengspark2xhdpeu_05_0013.html
indexId: 5a0e759e9aa6a0f5bcf42ed91e592eb8149786e14b172635ff36e2e14a9a415476
---
# 配置网卡中断绑核

#### 目的

相比使用内核的irqbalance使网卡中断在所有核上进行调度，使用手动绑核将中断固定，能有效提高业务网络收发包的能力。


#### 方法

1. 关闭irqbalance。
若要对网卡进行绑核操作，则需要关闭irqbalance。


  a. 停止irqbalance服务，重启后服务失效。
    1 systemctl stop irqbalance.service

  b. 关闭irqbalance服务，永久生效。
    1 systemctl disable irqbalance.service

  c. 查看irqbalance服务状态是否已关闭。
    1 systemctl status irqbalance.service

2. 查看网卡pci设备号，假设当前网卡名为enp131s0。
  1 ethtool -i enp131s0

3. 查看PCIe网卡所属NUMA node。
  1 lspci -vvvs <bus-info>

4. 查看NUMA对应哪些CORE。
  1 numactl -H

  假设位于numa1，我们把上节中设置好的4个网卡队列绑定到numa1节点的最后4个CPU，即60-63 core上。

5. 新建一个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
