首页 > 科技常识 >

虚拟机上windows系统慢Hyper V虚拟机网络卡顿的解决方法

发布时间:2024-11-05 10:15:29来源:

  在使用虚拟机上的Windows系统时,很多用户可能会遇到网络卡顿的问题,这不仅影响工作效率,也会影响使用体验,针对这个问题,我们可以通过一些方法来解决,让虚拟机网络运行更加流畅,提高工作效率。

Win10 Hyper虚拟机网速慢怎么解决方法

首先,您应该注意 Windows Server 2019/2022(和 Windows 10 1809+)上的 Hyper-V 中出现的接收段合并 (RSC) 功能。接收分段合并在虚拟交换机级别 (vSwitch) 使用。

RSC 允许通过将多个 TCP 段组合成更大的段来减少 CPU 负载并提高网络吞吐量。 网络性能得到提高,因为大型分段的处理速度比许多较小的分段更快。

在以前的 Hyper-V 版本 (Windows Server 2016/2012R2) 中,NIC 级别仅支持硬件接收段合并模式。

如果启用了 RSC 支持,则可能会导致某些硬件配置中出现额外的网络延迟、默认情况下, Windows Server 2019 上的所有外部交换机启用 RSC。

您可以使用以下命令检查是否为虚拟交换机启用了 RSC:

Get-VMSwitch | Select-Object *RSC*

可以使用以下命令禁用对客户端网络适配器上的 IPv4 流量使用 RSC:

Disable-NetAdapterRsc -Name “Ethernet” -IPv4

检查禁用 RSC 后 Hyper-V VM 中的复制速度是否提高。如果网络速度有所提高,则可以在 VM 连接到的虚拟交换机上禁用 RSC。

您可以使用 iperf 工具检查网络吞吐量。

1)要禁用特定虚拟交换机的软件 RSC,请运行以下命令:

Set-VMSwitch -Name vSwitchName -EnableSoftwareRsc $false

您可以即时启用/禁用RSC,它不会影响任何活动连接。

或者,您可以在Windows主机上完全禁用RSC:

netsh int tcp set global rsc=disabled

2)网络适配器驱动程序中的虚拟机队列 (VMQ) 模式

在某些情况下,如果在物理 Hyper-V 主机的网络适配器驱动程序中启用了 VMQ(虚拟机队列),则可能会导致 Hyper-V 虚拟机中的网络性能不佳。

VMQ 是一项硬件功能,如果您的硬件不支持它在驱动程序中启用,则可能会导致数据包丢失和网络延迟增加。

该问题是 Broadcom 千兆网络适配器的典型问题,在所有 Hyper-V 版本 (Windows Server 2012 R2/2016/2019) 中都会出现。

VMQ 旨在通过将数据包从物理网络适配器直接转发到虚拟机来提高网络性能。

可以在网络适配器驱动程序的属性中禁用 VMQ。

或者,可以使用 PowerShell 显示支持 VMQ 的网络适配器列表及其状态:

Get-NetAdapterVmq

要禁用特定网卡的 VMQ,请运行以下命令(网络适配器将在几秒钟内不可用):

Set-NetAdapterVmq -Name “NICName” -Enabled $False

禁用 VMQ 后,最好重新启动主机并检查网络性能。

确保在 Windows 中禁用

QoS 带宽限制策略。

在Windows Server 2019上优化Hyper-V的TCP设置

1)将当前的TCP设置保存在Hyper-V主机上,并应用新设置,这些设置将使Windows Server 2019中的TCP设置几乎与Windows Server 2016中的TCP设置相似。

2)保存当前设置:

Get-NetTCPSetting -SettingName Datacenter,DatacenterCustom。InternetCustom,Internet|select SettingName,CongestionProvider,CwndRestart,ForceWS|Export-csv c:\backup\ws2019_network_stack_settings_nettcp_backup.csv

默认情况下,在Windows Server 2019和Windows 10 1709 +中,使用TCP的CUTRIC实现。此算法针对具有高延迟的高速网络进行了优化(默认情况下在 Linux 内核 19 及更高版本中也使用它)。

仅在 Windows Server 2019 或 Hyper-V 2019 中应用以下设置。

1)为 LAN 应用新的 NetTCP 设置:

Set-NetTCPSetting -SettingName DatacenterCustom。Datacenter -CongestionProvider DCTCPSet-NetTCPSetting -SettingName DatacenterCustom。Datacenter -CwndRestart TrueSet-NetTCPSetting -SettingName DatacenterCustom。Datacenter -ForceWS Disabled

2)对于广域网:

Set-NetTCPSetting -SettingName InternetCustom,Internet -CongestionProvider CTCPSet-NetTCPSetting -SettingName InternetCustom,Internet -DelayedAckTimeoutMs 50Set-NetTCPSetting -SettingName InternetCustom,Internet -ForceWS Disabled

3)在 TCP 堆栈级别禁用网络 RSS 和 RSC 网络优化方法:

netsh int tcp show globalnetsh int tcp set global RSS=Disablednetsh int tcp set global RSC=Disabled

4)或在网卡级别:

Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Recv Segment Coalescing (IPv4)” -DisplayValue “Disabled” -NoRestartGet-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Recv Segment Coalescing (IPv6)” -DisplayValue “Disabled” -NoRestartGet-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Receive Side Scaling” -DisplayValue “Disabled” –NoRestart

为所有虚拟机禁用 vRSS:

Get-VM | Set-VMNetworkAdapter -VrssEnabled $FALSE

5)在网卡上禁用大型发送卸载 (LSO):

Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Large Send Offload Version 2 (IPv4)” -DisplayValue “Disabled” -NoRestartGet-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Large Send Offload Version 2 (IPv6)” -DisplayValue “Disabled” -NoRestartGet-NetAdapter | Restart-NetAdapter

您还可以在网络适配器属性的“高级”选项卡中禁用这些选项:

接收段合并(IPv4/IPv6) = 禁用大型发送卸载 v2 (IPv4/IPv6) = 已禁用

这些TCP堆栈设置将使Windows Server 2019网络协议设置类似于以前的Windows Server版本。

Win10系统中HyperV虚拟机怎么访问本机磁盘?

window10虚拟机hyperv怎么配置? Win10设置自带虚拟机的技巧

以上就是关于虚拟机上windows系统慢的全部内容,有出现相同情况的用户就可以按照小编的方法了来解决了。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。