为什么我的服务器的最大队列数少于我的处理器数?

为什么我的服务器的最大队列数少于我的处理器数?

我使用的是 ubuntu 20.04 LTS 内核版本,5.4.0-117-generic我的机器有 12 个 CPU 线程Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz。问题是为什么我的最大多队列配置是 4,它应该是 12,对吧?按照我的 vCPU 数量

# ethtool -l enp4s0
Channel parameters for enp4s0:
Pre-set maximums:
RX:             0
TX:             0
Other:          1
Combined:       4
Current hardware settings:
RX:             0
TX:             0
Other:          1
Combined:       4

我的以太网驱动程序是

# ethtool -i enp4s0
driver: igb
version: 5.6.0-k
firmware-version: 3.16, 0x800004d7
expansion-rom-version:
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

我检查过 RX/TX 队列只有 4

# ethtool -S enp4s0 | egrep 'rx_queue.*packets|tx_queue.*packets' | column -c 80
     tx_queue_0_packets: 1285500             rx_queue_0_packets: 9816392
     tx_queue_1_packets: 560302              rx_queue_1_packets: 2988942
     tx_queue_2_packets: 390412              rx_queue_2_packets: 2683848
     tx_queue_3_packets: 1865716             rx_queue_3_packets: 3764393

我如何才能将最大队列数量增加到与 vCPU 数量相同?

答案1

所以我检查了我的 NIC 硬件,它正在使用Intel I210

04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
        Subsystem: ASUSTeK Computer Inc. I210 Gigabit Network Connection
        Kernel driver in use: igb
        Kernel modules: igb

我有产品详情这里说的是:

I210 包含四个发送队列和四个接收队列。

所以我想我知道为什么最大队列只有四个

相关内容