題 如何限制Windows上的程序帶寬?


Windows中是否有一種技術可以有選擇地限制正在運行的進程的帶寬?


80
2018-04-28 22:55


起源


這裡有一整套應用程序可以執行此操作: alternativeto.net/software/netbalancer - bgmCoder
NetBalencers的新更新不會根據他們的聲明限製程序,試用期僅為7天,您只能限制3個軟件(當它確定工作時),並且全部服務的成本高達50美元。別煩心。


答案:


我用 淨限制器,有一個免費版本, 但不幸的是,你需要支付限制功能

NetLimiter是專為Windows設計的終極互聯網流量控制和監控工具。您可以使用NetLimiter為應用程序甚至單個連接設置下載/上傳傳輸速率限制,並監控其互聯網流量。

除了這一獨特功能外,Netlimiter還提供全面的互聯網統計工具。它包括實時流量測量和長期每應用程序的互聯網流量統計


21
2018-02-18 20:40



不,允許限流的lite / pro版本不是免費的。 - demonkoryu
這個, 恰恰相反,在Windows XP上運行得相當好。 - GSerg
NetLimiter 4仍然具有限制功能,它是免費版本,但是有時間限制。 - Dan Atkinson


有充分的理由來看待“面向Internet的路由器”方法來管理整個網絡 - 但是由於最初的問題是特定的,並且用戶很可能是網絡上唯一的計算機,這是次要問題。

NetBalancer


根據其他一些最佳答案,我測試了一段時間 NetBalancer。它工作得很好 - 並且易於配置。

NetBalancer可在其網頁上購買,價格約為50美元。試用/免費版本允許您監控連接 - 但不允許限制。

NetLimiter


替代方案是 NetLimiter。它有一個 免費試用期  - 但是Lite版本的起價為20美元左右,Pro版本起價為30美元左右。 NetLimiter是許多SysAdmins經過試驗和測試的首選應用程序。

當NetLimiter的審判結束時,在您購買許可證之前,它將成為僅監控工具 - 並且不再支持限制。這仍然有用 - 但不適用於此用例。

使用路由器(解釋為什麼這不是這個用例的好方法)。


雖然使用智能/高度可配置的路由器通常是更好的方法 全人 網絡管理,在@ ZaB的答案中沒有解釋它與原始問題之間的脫節。最初的問題是專門詢問一個過程 - 路由器無法可靠​​地識別。

在這一端接近有用的一種變體是,如果應用程序僅通過路由器可以輕易識別的特定信道或流量類型進行通信。下面是EA的Origin下載的一個例子:

Origin目前使用Akamai。通常我會將自動下載/更新設置為隨時運行 - 但我更傾向於在我忙於做其他更重要的事情時不使用所有線路容量。原點恰好是非常的  在 這個  分類 的 事情,因此它不支持下載計劃或下載限制。目前我的桌面正在使用服務器“a1750.d.akamai.net”下載遊戲。 MikroTik路由器(智能路由器的一個示例)可以注意到使用了此DNS名稱(它將位於具有IP地址的DNS緩存中),並且可以臨時配置以將目標服務器的IP地址添加到“地址列表” “。進出地址列表的所有流量都可以添加到受限制的隊列中,從而在技術上限制單個應用程序。

然而,上面的方法是天真的。 EA可以在 任何 時間更改服務器名稱,使用的協議或使用Akamai基礎結構的其他無關服務可能會被無意中限制。現在,我閃亮的新規則變得無用而破碎。


9
2017-09-10 18:35



我不確定NetBalancer的免費版本是否仍允許帶寬限制。引用 下載頁面:“未註冊的版本僅用作監視應用程序,不支持優先級或規則”。 - Gras Double
嘆。現在好奇當這個改變了。自從我上次“刷新”我的遊戲桌面以來,我沒有安裝Origin。 - zaTricky


這是我可憐的勒芒節流:

它並不完全限制帶寬,而是暫停/恢復帶寬進入過程,從而為其他應用程序釋放一些帶寬。 它是免費的!

你需要 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

現在以管理員身份打開命令行,並使用throttles程序作為參數運行批處理文件

slow.bat filetransfer.exe

(將filetransfer.exe替換為您的程序名稱)

如果完成,請按CTRL-C並取消批處理。

如果程序仍在運行,請考慮恢復程序,以防在程序暫停時中斷批處理:

c:\tools\sysinternals\pssuspend.exe -r filetransfer.exe

(將filetransfer.exe替換為您的程序名稱)


1
2017-10-20 10:05



這並沒有真正解決問題。這是一個單一的過程修復,你必須知道佔用帶寬的過程,你必須不積極地使用它。 - Dan Atkinson
如果你想“限制正在運行的進程的帶寬”(這就是問題),你知道這個過程,對吧?我吃掉所有帶寬的進程特別是上傳(使我的互聯網無法用於其他任何東西),也可能是下載。我的“窮人扼殺”完成了這項工作:我可以上傳並仍然使用互聯網。是的 - 這不是一個完美的解決方案。這是為了窮人 - 而不是買一些軟件。 - bebbo
我必須同意@ dan-atkinson。 NetBalancer是一個很好的例子,免費版本在相同的用例中可以很好地工作。此方法也有局限性: - 需要繁瑣/手動步驟 - 無法指定帶寬限制應該是什麼。 - 這種方法可以簡單地將“穩定的”不需要的使用轉移到不太理想的峰谷。 - 應用程序將變得無響應/遲滯 - zaTricky
我內心的怪人想知道這是否真的可以成為一種好的,廉價的方式來完成任務,但具有更低的超時時間,如50ms。因此會有很多暫停/取消暫停,但經驗可能會更順暢。我不知道暫停的時間實際上是如何映射到降低的上傳速率,但它是試驗的東西...... - pgr