解决Win10 Hyper-V虚拟机网速慢的方法
来源:纯净之家
时间:2024-03-20 13:24:32 202浏览 收藏
在使用 Hyper-V 虚拟机时遇到网速缓慢的问题?本文将为您提供一系列方法来解决此问题。首先,检查您的虚拟机是否拥有足够的处理器和内存资源。接下来,检查您的网络适配器驱动程序中是否启用了虚拟机队列 (VMQ),这可能会导致网络性能不佳。此外,您还可以通过禁用接收段合并 (RSC) 和网络 RSS 等网络优化方法来提高网速。如果您在 Windows Server 2019 上使用 Hyper-V,还可以优化 TCP 设置以获得更好的性能。本文将一步一步指导您完成这些步骤,帮助您解决 Hyper-V 虚拟机网速慢的问题。
不少的用户们在会安装Hyper-V虚拟机来进行运行操作,不过不少的用户们在使用Hyper-V虚拟机的时候发现网速很慢,那么这要怎么设置?用户们可以看看是不是因为您的虚拟机没有好的处理器或足够的内存,下面就让本站来为用户们来仔细的介绍一下Win10 Hyper虚拟机网速慢怎么解决方法吧。
Win10 Hyper虚拟机网速慢怎么解决方法
1、首先,您应该注意 Windows Server 2019/2022(和 Windows 10 1809+)上的 Hyper-V 中出现的接收段合并 (RSC) 功能。接收分段合并在虚拟交换机级别 (vSwitch) 使用。
2、RSC 允许通过将多个 TCP 段组合成更大的段来减少 CPU 负载并提高网络吞吐量。 网络性能得到提高,因为大型分段的处理速度比许多较小的分段更快。
3、在以前的 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。
4、您可以使用 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
5、要禁用特定网卡的 VMQ,请运行以下命令(网络适配器将在几秒钟内不可用):
Set-NetAdapterVmq -Name “NICName” -Enabled $False
禁用 VMQ 后,最好重新启动主机并检查网络性能。
6、确保在 Windows 中禁用
QoS 带宽限制策略。
7、在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
8、默认情况下,在Windows Server 2019和Windows 10 1709 +中,使用TCP的CUTRIC实现。此算法针对具有高延迟的高速网络进行了优化(默认情况下在 Linux 内核 2.6.19 及更高版本中也使用它)。
仅在 Windows Server 2019 或 Hyper-V 2019 中应用以下设置。
1)为 LAN 应用新的 NetTCP 设置:
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CongestionProvider DCTCP
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CwndRestart True
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -ForceWS Disabled
2)对于广域网:
Set-NetTCPSetting -SettingName InternetCustom,Internet -CongestionProvider CTCP
Set-NetTCPSetting -SettingName InternetCustom,Internet -DelayedAckTimeoutMs 50
Set-NetTCPSetting -SettingName InternetCustom,Internet -ForceWS Disabled
3)在 TCP 堆栈级别禁用网络 RSS 和 RSC 网络优化方法:
netsh int tcp show global
netsh int tcp set global RSS=Disabled
netsh int tcp set global RSC=Disabled
4)或在网卡级别:
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Recv Segment Coalescing (IPv4)” -DisplayValue “Disabled” -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Recv Segment Coalescing (IPv6)” -DisplayValue “Disabled” -NoRestart
Get-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” -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName “Large Send Offload Version 2 (IPv6)” -DisplayValue “Disabled” -NoRestart
Get-NetAdapter | Restart-NetAdapter
9、您还可以在网络适配器属性的“高级”选项卡中禁用这些选项:
接收段合并(IPv4/IPv6) = 禁用
大型发送卸载 v2 (IPv4/IPv6) = 已禁用
这些TCP堆栈设置将使Windows Server 2019网络协议设置类似于以前的Windows Server版本。
文中关于win10的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《解决Win10 Hyper-V虚拟机网速慢的方法》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
465 收藏
-
400 收藏
-
472 收藏
-
465 收藏
-
149 收藏
-
159 收藏
-
300 收藏
-
500 收藏
-
438 收藏
-
222 收藏
-
305 收藏
-
176 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习