2010-04-28 22:55:18 +0000 2010-04-28 22:55:18 +0000
86
86

Jak ograniczyć przepustowość programów w Windows?

Czy istnieje technika w Windows, która może selektywnie ograniczyć przepustowość uruchomionego procesu?

Odpowiedzi (4)

22
22
22
2012-02-18 20:40:44 +0000

Używam Net Limiter , który ma darmową wersję, ale niestety musisz zapłacić za funkcję ograniczania .

NetLimiter to doskonałe narzędzie do kontroli i monitorowania ruchu internetowego przeznaczone dla systemu Windows. Za pomocą NetLimitera możesz ustawić limity prędkości pobierania/wysyłania dla aplikacji lub nawet pojedynczych połączeń i monitorować ich ruch internetowy.

Wraz z tą unikalną funkcją, Netlimiter oferuje kompleksowy zestaw internetowych narzędzi statystycznych. Obejmuje on pomiar ruchu w czasie rzeczywistym oraz długoterminowe statystyki ruchu internetowego dla poszczególnych aplikacji.

9
9
9
2015-09-10 18:35:38 +0000

Istnieją dobre powody, aby przyjrzeć się podejściu “routera skierowanego do Internetu” do zarządzania siecią jako całością - jednak ponieważ pierwotne pytanie było specyficzne, a użytkownik może być bardzo dobrze jedynym komputerem w sieci, jest to kwestia drugorzędna.

NetBalancer


Zgodnie z jedną z innych topowych odpowiedzi, przez chwilę testowałem NetBalancer . Działa naprawdę dobrze - i jest łatwy do skonfigurowania.

NetBalancer jest dostępny do kupienia na ich stronie internetowej za około 50$. Wersja próbna/darmowa pozwala na monitorowanie połączeń - ale nie pozwala na throttling.

NetLimiter


Alternatywą jest NetLimiter . Ma bezpłatny okres próbny - ale zaczyna się od ~$20 za wersję Lite lub ~$30 za wersję Pro. NetLimiter jest wypróbowaną i przetestowaną aplikacją dla wielu administratorów.

Kiedy kończy się okres próbny NetLimitera, dopóki nie kupisz licencji, staje się on tylko narzędziem monitorującym - i nie obsługuje już throttlingu. To nadal może być użyteczne - ale nie w tym przypadku.

Użycie Routera (z wyjaśnieniem dlaczego nie jest to dobre podejście do tego przypadku użycia).


Chociaż używanie inteligentnego / wysoce konfigurowalnego routera jest zwykle lepszym podejściem do wholistycznego zarządzania siecią, rozłączenie między tym a oryginalnym pytaniem nie jest wyjaśnione w odpowiedzi @ZaB. Oryginalne pytanie pyta konkretnie o proces - którego router nie ma sposobu na niezawodne zidentyfikowanie.

Jedyną odmianą, która jest bliska użyteczności na tym końcu, jest sytuacja, w której aplikacja komunikuje się tylko przez określony kanał lub typ ruchu, który może być łatwo zidentyfikowany przez router. Przykładem może być pobieranie plików Origin przez EA:

Origin obecnie korzysta z Akamai. Zazwyczaj ustawiam automatyczne pobieranie/aktualizacje na dowolny czas - ale wolałbym, żeby nie wykorzystywało to całej przepustowości łącza, kiedy jestem zajęty robieniem innych, ważniejszych rzeczy. Tak się składa, że Origin jest bardzo zły w tym rodzaju rzeczy , dlatego nie obsługuje harmonogramów pobierania ani dławienia pobierania. Obecnie mój pulpit pobiera grę z serwera “a1750.d.akamai.net”. Router MikroTik (przykład inteligentnego routera) może odnotować, że ta nazwa DNS została użyta (będzie ona w cache DNS wraz z adresem IP) i może być skonfigurowany tymczasowo tak, aby dodać adres IP serwera docelowego do “listy adresowej”. Cały ruch z/do listy adresowej może zostać dodany do kolejki dławienia, tym samym, technicznie rzecz biorąc, dławiąc pojedynczą aplikację.

Powyższe podejście jest jednak naiwne. EA może w każdej chwili zmienić nazwę serwera, używany protokół, lub inna niepowiązana usługa korzystająca z infrastruktury Akamai może zostać nieumyślnie zdławiona. Teraz moja nowa, błyszcząca reguła jest bezużyteczna i zepsuta.

3
3
3
2018-11-18 10:38:36 +0000

Możesz użyć zasad grupy Windows, aby zdławić przepustowość dowolnego procesu. Przejdź do:

  • Menu Start > Uruchom > gpedit.msc
  • Konfiguracja komputera/użytkownika (wybierz jedną lub drugą) > Ustawienia systemu Windows > Policy-based QoS

Tutaj możesz zobaczyć aktualne polityki i utworzyć nowe przez:

  • Albo klikając prawym przyciskiem myszy “Policy-based QoS” lub przechodząc do “Action” > Create new policy….
  • Następnie postępuj zgodnie z kreatorem, aby utworzyć nową politykę dławienia.

Kreator pozwala na stworzenie polityki dławienia przepustowości dla:

  • Wszystkiego na Twoim komputerze
  • Konkretnych procesów
  • Konkretnych stron internetowych (tylko dla aplikacji korzystających z protokołów HTTP)

A Twoje polityki mogą być następnie filtrowane według:

  • protokoły TCP lub UDP
  • źródłowe/docelowe IP
  • źródłowe/docelowe porty

Możesz również utworzyć te polityki w Powershell uruchamiając:

New-NetQosPolicy -Name "FTP" -AppPathNameMatchCondition "ftp.exe" -ThrottleRateActionBitsPerSecond 1MB

Chociaż może to wymagać uprawnień administratora, i wydaje się, że jest błąd gdzie polityki utworzone w ten sposób nie pojawią się w GUI.

2
2
2
2016-10-20 10:05:21 +0000

Oto mój biedny throttling:

Nie ogranicza on dokładnie pasma, ale raczej zawiesza/wznawia proces pożerający pasmo i w ten sposób zwalnia część pasma dla innych aplikacji. I jest darmowy!

Potrzebujesz PsSuspend.exe (umieściłem ten plik w C:™tools\sysinternals) i plik wsadowy (np.) 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

Teraz otwórz wiersz poleceń jako administrator i uruchom plik wsadowy z programem throttles jako parametrem

slow.bat filetransfer.exe

(zamień filetransfer.exe na nazwę swojego programu)

Jeśli skończysz, naciśnij CTRL-C i anuluj plik wsadowy.

Jeśli program jest nadal uruchomiony, rozważ wznowienie działania programu w przypadku, gdy przerwałeś wykonywanie wsadu, gdy program był zawieszony:

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

(zastąp filetransfer.exe nazwą swojego programu)