# 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 查看网卡队列和相关参数：**

```powershell
Get-NetAdapterAdvancedProperty -Name "vEthernet (VM Name)"

```

- 可以查看诸如 `Receive Buffers`、`Transmit Buffers` 之类的高级属性（如果驱动支持）。
- 如果显示为空或没有该选项，说明 Hyper-V Synthetic Adapter 不允许用户直接调整。

2. **通过设备管理器查看高级属性：**

- 打开 **设备管理器 → 网络适配器 → 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 示例：
        
        ```powershell
        Set-NetAdapterAdvancedProperty -Name "Ethernet0" -DisplayName "Receive Buffers" -DisplayValue 1024
        
        ```
    2. **增加虚拟机 vNIC 数量**：
        
        
        - 多队列 vNIC（RSS、多队列网卡）可以提升高并发情况下的吞吐量。
        
        ```powershell
        Set-VMNetworkAdapter -VMName "VM Name" -IovQueuePairs 4
        
        ```
        
        
        - 需要物理网卡和 Hyper-V 支持 SR-IOV。
    3. **启用或调整虚拟机的 VMQ（Virtual Machine Queue）**：
        
        
        - VMQ 可以将网络流量分配到多个虚拟 CPU 上，提高并发处理能力：
        
        ```powershell
        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 / 多队列**，方便在高并发下优化网络。

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