系统极客一直在努力
专注操作系统及软件使用技能

打破带宽限制误区,Windows 10「限制可保留带宽」详解

windows 10

使用 Windows 10 系统的用户可能都知道,长久以来都在误传一个消息:Windows 10 PC 默认仅使用其可用网络带宽的 80%,用户可以通过更改注册表或组策略的方式来调整「限制可保留带宽」设置来加快网速。

该误解的意思是说,如果你家拉了 1000Mbps 的光纤,Windows 10 只能用 80% 带宽,能够被使用网速就是 800Mbps。而真实的情况却不是这样,这只是对 Windows 10 「QoS 数据包计划程序」工作原理的误解。

微软官方将「QoS Packet Scheduler」翻译成「QoS 数据包计划程序」,个人觉得还是译成「QoS 数据包调度器」更贴切吧。

Windows 10「QoS 数据包计划程序」如何工作

有用户从 Windows 10 系统中发现了一个叫「QoS 数据包计划程序」的功能,其实该功能从 20 年前的 Windows XP 开始,历代 Windows 中早就已经长期存在。这里的 QoS 是指 Windows 操作系统层级的「服务质量」,即:对由数据包组成的某种类型网络流量进行优先排序的一种方式。

QoS 有多种形式,有很多网络设备都可以通过 QoS 允许用户对某些类型的流量进行优先排序。例如:将游戏、工作或流媒体的优先级调高,以保证这些工作负载不被像 BT、迅雷这种大带宽消耗的软件给挤占。

Windows 10「QoS 数据包计划程序」会默认让操作系统为高优先级的网络任务保留一定比例的连接带宽,这个保留的带宽比例叫「可保留带宽」。注意,是「可保留带宽」,不是「保留带宽」,更不是「已保留带宽」。

哪些应用会使用「可保留带宽」

Windows 10 系统的默认「可保留带宽」为 20%,一旦有高优先级的网络任务申请,系统即可最多协调到 20% 的带宽为其专属保留使用。

那么如何定义哪些是「高优先级网络任务」呢?这个就需要 ISV 在开发应用程序时调用 Windows API 来「通知到」Windows 系统了,然后 Windows 系统会主动来调度 20% 的带宽来给相应的软件使用,最终用户是无法进行手动控制的。

简单来说就是,Windows 会自动压缩低优先级的网络流量,并确保高优先级的任务可以获得(默认最多) 20% 的专属连接带宽来使用。

QoS 带宽预留的工作机制

Windows 10「QoS 数据包计划程序」可以通过「限制可保留带宽」这个配置来手动设定 Windows 为QoS 保留带宽的最大百分比,请一定注意「最大」这个关键词。

QoS 带宽预留的工作机制如下:

  • 在没有应用程序向 Windows 10「申请」高优先级带宽的情况下,Windows 会把 100% 的带宽提供给其他应用程序。
  • 如果一个应用程序正在使用 5% 的带宽进行高优先级任务,Windows 会把 95% 的剩余带宽提供给其他应用程序。

所以在任何时候,Windows 10 都保证你的带宽 100% 可用,而不是将 20% 保留起来,只给用户 80% 来用。简单理解起来就是:如果有应用程序申请「保留带宽」,Windows 10 最多可为其协调到总带宽的 20% 为其专属使用。

「限制可保留带宽」设置

「限制可保留带宽」设置控制着可以申请到多少(百分比)带宽用于高优先级网络访问,如果没有程序正在使用 Windows 10 QoS,则您的所有带宽都可用于非 QoS 程序。而且,即使有 QoS 预留处于活动状态,如果预留带宽的程序实际上没有使用它,那么带宽也可用于非 QoS 程序。

「可保留带宽」的百分比可以通过以下方式来调整:

1 使用 Windows + R 快捷键打开「运行」—— 执行 gpedit.msc 打开组策略编辑器

2 导航到:

计算机设置——管理模板——网络—— QoS 数据包计划程序——双击「限制可保留带宽」

限制可保留带宽

3 启用该策略后可以调整要为高优先级任务「可保留带宽」的百分比。

家庭版 Windows 10 用户可以在注册表如下路径:

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Psched

中新建一个名为 NonBestEffortLimit 的 DWORD 值来控制百分比。

未配置或禁用该策略的情况下,使用 Windows 10 的默认 20% 设置。最后推荐一篇微软陈姓工程师于 2006 年写的一篇文章

赞(0) 赞赏

评论 抢沙发

微信赞赏