查看网卡中断在哪个CPU核处理

本文目录

  • 1、查看CPU占用率
  • 2、查看系统的中断处理在各个CPU核间的分布情况
  • 3、查看用于处理网卡中断的CPU核
  • 4、修改用于处理网卡中断的CPU核

在默认的情况下Linux默认一个网卡的中断操作都在一个CPU核里处理,在大数据量或者说是对网卡的收发包性能PPS进行测试时,对网卡进行IO操作就成了最消耗CPU的瓶颈。如果我们有多网卡同时收发包的话,我们可以通过人为修改网卡中断的处理用的CPU核,来达到更好的性能。

1、查看CPU占用率

如下图所示,我们可以看到si占用的9.6%的CPU都出现第2个CPU核,而其它CPU核并没有来帮助处理。
查看网卡中断在哪个CPU核处理_第1张图片

2、查看系统的中断处理在各个CPU核间的分布情况

如下图,我们可以看到编号为128的网卡设备enp2s0的大量的中断都由CPU1进行处理了

sudo cat /proc/interrupts

查看网卡中断在哪个CPU核处理_第2张图片

3、查看用于处理网卡中断的CPU核

cat /proc/irq/128/smp_affinity

我们会看到返回的结果是2,转换成2进制就是0x0010说明在第2个CPU既CPU1上(说明:这里用的是bit mask, 如果是0x0001表示第一个CPU, 0x0010表示第二个CPU, 0x0100表示第三个CPU, 0x1000表示第四个CPU )

4、修改用于处理网卡中断的CPU核

进入root模式后,使用如下命令将系统设置成用第4个CPU(8 = 0x1000)来处理网卡的中断

echo "8">/proc/irq/128/smp_affinity

再用以下命令,我们可以看到第2个CPU上的中断数量不再增加,而第4个CPU上的中断数量在不停的增加,说明网卡的中断已经转到第4个CPU处理了

sudo cat /proc/interrupts

查看网卡中断在哪个CPU核处理_第3张图片

你可能感兴趣的:(Linux专业使用者,Linux路由,网络,linux,运维)