在 Windows 上限制程序带宽的方法?

Jam*_*hon 99 windows bandwidth

Windows 中是否有一种技术可以选择性地限制正在运行的进程的带宽?

use*_*ser 25

我使用Net Limiter,它有一个免费版本,但不幸的是,您需要为限制功能付费

NetLimiter 是专为 Windows 设计的终极互联网流量控制和监控工具。您可以使用 NetLimiter 为应用程序甚至单个连接设置下载/上传传输速率限制并监控其互联网流量。

除了这一独特的功能外,Netlimiter 还提供了一套全面的互联网统计工具。它包括实时流量测量和每个应用程序的长期互联网流量统计

  • 不,允许流量限制的 lite/pro 版本不是免费的。 (8认同)

zaT*_*cky 10

有充分的理由考虑将“面向 Internet 的路由器”方法作为一个整体来管理网络——但是,由于最初的问题是具体的,而且用户很可能是网络上唯一的计算机,这是次要的问题。

网络平衡器


根据其他最佳答案之一,有一段时间我测试了NetBalancer。它工作得非常好 - 并且易于配置。

NetBalancer 可以在他们的网页上以大约 50 美元的价格购买。试用版/免费版允许您监控连接 - 但不允许节流。

网络限制器


替代方案是NetLimiter。它有一个免费试用期- 但 Lite 版起价约为 20 美元,Pro 版起价为 30 美元。NetLimiter 是许多系统管理员久经考验的首选应用程序。

当 NetLimiter 的试用期结束时,直到您购买许可证,它才会成为仅用于监控的工具 - 不再支持节流。这仍然很有用 - 但不适用于此用例。

使用路由器(解释为什么这不是这个用例的好方法)。


虽然使用智能/高度可配置的路由器通常是更好的方法来整全的网络管理,和原来的疑问,之间的脱节是不是在其他的答案解释。最初的问题是专门询问一个进程 - 路由器无法可靠地识别该进程。

在这方面接近有用的一个变体是,如果应用程序仅通过特定通道或路由器可以轻松识别的流量类型进行通信。下面的示例展示了 EA 的 Origin 下载在某一时刻的工作方式:

Origin 目前使用 Akamai。通常,我将自动下载/更新设置为随时运行 - 但我更希望它在我忙于做其他更重要的事情时不要使用所有线路容量。产地恰好是非常糟糕的,在这个 排序事情,因此它不支持下载计划或下载限制。目前我的桌面正在使用服务器“a1750.d.akamai.net”下载游戏。MikroTik 路由器(智能路由器的一个例子)可以注意到这个 DNS 名称已被使用(它将在带有 IP 地址的 DNS 缓存中)并且可以临时配置以将目标服务器的 IP 地址添加到“地址列表” ”。进出地址列表的所有流量都可以添加到限制队列中,从而在技术上限制单个应用程序。

然而,上述方法是幼稚的。EA 可以随时更改服务器名称、使用的协议,或者其他使用 Akamai 基础设施的不相关服务可能会在无意中受到限制。现在我的规则是无用的和被破坏的,或者更糟糕的是,正在限制一些不相关的东西。


Sil*_*eri 7

您可以使用 Windows 组策略来限制任何进程的带宽。去:

  • 开始菜单 > 运行 > gpedit.msc
  • 计算机/用户配置(选择一个)> Windows 设置 > 基于策略的 QoS

您可以在此处查看当前政策并通过以下方式创建新政策:

  • 右键单击“基于策略的 QoS”或转到“操作”> 创建新策略...
  • 然后按照向导创建新的限制策略。

该向导允许您创建一个策略来限制以下任一方面的带宽:

  • 电脑上的一切
  • 具体流程
  • 特定网站(仅适用于使用 HTTP 协议的应用程序)

然后可以通过以下方式过滤您的政策:

  • TCP 或 UDP 协议
  • 源/目标 IP
  • 源/目的端口

您还可以通过运行在 Powershell 中创建这些策略:

New-NetQosPolicy -Name "FTP" -AppPathNameMatchCondition "ftp.exe" -ThrottleRateActionBitsPerSecond 1MB
Run Code Online (Sandbox Code Playgroud)

虽然这可能需要管理员权限,但似乎存在一个错误,即像这样创建的策略不会出现在 GUI 中。

  • 不起作用。它仅适用于出站流量,不适用于入站流量。 (4认同)

beb*_*bbo 7

您可以从http://www.tmeter.ru/en/使用 TMeter Free 。

配置它进行节流的许多步骤可以在这里找到: https: //www.howtogeek.com/347711/how-to-limit-any-applications-bandwidth-on-windows/

总结是:

  1. 在“网络接口”中选择要使用的网络适配器
  2. 添加要限制的程序的进程定义
  3. 添加包含已定义流程规则的过滤器集
  4. 为该过滤器集启用速度限制流量整形器并应用
  5. 单击“开始/停止捕获”以启用/禁用限制


beb*_*bbo 6

这是我的穷人节流:

它并不完全限制带宽,而是暂停/恢复带宽消耗过程,从而为其他应用程序释放一些带宽。 而且是免费的!

您需要PsSuspend.exe(我将此文件放入 C:\tools\sysinternals)和一个批处理文件(例如)slow.bat:

@echo off
:START 
c:\tools\sysinternals\pssuspend.exe %1 >NUL: 2>&1
timeout /T 1 /NOBREAK >NUL:
c:\tools\sysinternals\pssuspend.exe -r %1 >NUL: 2>&1
timeout /T 1 /NOBREAK >NUL:
goto START
Run Code Online (Sandbox Code Playgroud)

现在以管理员身份打开命令行并使用油门程序作为参数运行批处理文件

slow.bat filetransfer.exe
Run Code Online (Sandbox Code Playgroud)

(用您的程序名称替换 filetransfer.exe)

如果完成,请按 CTRL-C 并取消批处理。

如果程序仍在运行,请考虑恢复程序,以防在程序暂停时中断批处理:

c:\tools\sysinternals\pssuspend.exe -r filetransfer.exe
Run Code Online (Sandbox Code Playgroud)

(用您的程序名称替换 filetransfer.exe)

  • 如果您想“限制正在运行的进程的带宽”(这就是问题),您知道进程,对吗?我的进程占用了所有带宽,尤其是上传(使我的互联网无法用于其他任何事情),也许还有下载。我的“穷人的节流”完成了这项工作:我可以上传并仍然使用互联网。是的 - 这不是一个完美的解决方案。这是给穷人的——不是买一些软件。 (2认同)