---
title: 虚拟机网卡设置
description: "虚拟机使用网卡直通时，适当调整网卡队列数和绑定中断，可以最大限度地提升网络性能，让网络不成为性能瓶颈。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/QEMU-KVM/kunpengkvm_05_0010.html
sourcePath: /source/zh/kunpengcpfs/ecosystemEnable/QEMU-KVM/kunpengkvm_05_0010.html
indexId: 7ee8f8d0608831b20a542a09649f3a141e67aa58d1234aa70a37d8a9814670e571
---
# 虚拟机网卡设置

虚拟机使用网卡直通时，适当调整网卡队列数和绑定中断，可以最大限度地提升网络性能，让网络不成为性能瓶颈。

#### 调整网卡队列数

1. 在虚拟机中执行如下命令，查询网卡队列数。
  1 ethtool -l enp1s0f0

  上述返回信息说明一共有63个队列。

2. 执行top观察CPU在软中断softirq中的消耗情况进行判断，如果队列设置过少，会看见处理软中断的CPU出现100%，此时需要增加队列。
3. 观察性能情况，动态调整队列数。此处以调整队列数48为例：
  1 ethtool -L eth1 combined 48

  并不是队列越多越好，需要观察CPU资源消耗集中在软中断的处理上，从而判断是否存在性能瓶颈。


#### 网卡中断绑定

建议尽量将中断绑定到物理网卡所在的NUMA的vcpu上，可以在Host主机上通过以下命令查看网卡所属的NUMA节点：

```
cat /sys/bus/pci/devices/0000\:03\:00.0/numa_node
```


1. 关闭虚拟机内的irqbalance服务。
  1 2 service irqbalance status service irqbalance stop

2. 查询网卡对应的中断号，执行命令如下。
  1 cat /proc/interrupts | grep eth1

  eth1为网口名称。

3. 手动绑定网卡中断到不同的CPU。
  1 echo 2 > /proc/irq/xxx/smp_affinity_list

  其中“xxx”为2中查询到的中断号。
