Skip to main content

Windows Server 2022 Hyper-V 虚拟网卡参数查看及修改

Windows Server 2022 Hyper-V 虚拟机中,虚拟网卡(vNIC)是通过 Hyper-V 虚拟交换机管理的,默认使用的虚拟网卡驱动是 Hyper-V Synthetic Network Adapter(即 hv_netvsc 驱动)。关于 TX/RX Buffer(发送/接收缓冲区)参数,有几个要点:


1️⃣ 查看网卡缓冲区大小

  1. PowerShell 查看网卡队列和相关参数:

Get-NetAdapterAdvancedProperty -Name "vEthernet (VM Name)"
  • 可以查看诸如 Receive BuffersTransmit Buffers 之类的高级属性(如果驱动支持)。

  • 如果显示为空或没有该选项,说明 Hyper-V Synthetic Adapter 不允许用户直接调整。

  1. 通过设备管理器查看高级属性:

  • 打开 设备管理器 → 网络适配器 → Hyper-V 网络适配器 → 属性 → 高级

  • 一些物理网卡的高级选项(如 Large Send Offload、Receive Buffers)可能可用,但大部分 vNIC 没有明显的 Buffer 调整项。


2️⃣ 修改网卡缓冲区

  • Hyper-V Synthetic Adapter 本身的 TX/RX Buffer 不可直接修改

  • 可选方案

    1. 修改宿主机物理网卡缓冲区

      • 宿主机的物理 NIC 支持调整 TX/RX Buffer 时,Hyper-V vNIC 会间接受益。

      • PowerShell 示例:

      Set-NetAdapterAdvancedProperty -Name "Ethernet0" -DisplayName "Receive Buffers" -DisplayValue 1024
      
    2. 增加虚拟机 vNIC 数量

      • 多队列 vNIC(RSS、多队列网卡)可以提升高并发情况下的吞吐量。

      Set-VMNetworkAdapter -VMName "VM Name" -IovQueuePairs 4
      
      • 需要物理网卡和 Hyper-V 支持 SR-IOV。

    3. 启用或调整虚拟机的 VMQ(Virtual Machine Queue)

      • VMQ 可以将网络流量分配到多个虚拟 CPU 上,提高并发处理能力:

      Get-VMNetworkAdapter -VMName "VM Name" | Set-VMNetworkAdapter -EnableVMQ $true
      

🔹 总结

  • Hyper-V 的 Synthetic Adapter 不支持直接修改 TX/RX Buffer

  • 提升高峰期网络性能的办法:

    1. 调整宿主机物理网卡缓冲区。

    2. 启用 VMQ 或 RSS。

    3. 增加 vNIC 或使用 SR-IOV 支持的直通网卡。


如果你需要,我可以帮你写一个 PowerShell 脚本,自动检测 Hyper-V 虚拟机网卡的 TX/RX 缓冲能力并设置 VMQ / 多队列,方便在高并发下优化网络。

你希望我直接写这个脚本吗?