Czy w systemie Windows jest technika, która może selektywnie ograniczać przepustowość uruchomionego procesu?
Czy w systemie Windows jest technika, która może selektywnie ograniczać przepustowość uruchomionego procesu?
Odpowiedzi:
Korzystam z Net Limiter , który ma darmową wersję, ale niestety musisz zapłacić za funkcję ograniczenia .
NetLimiter to najlepsze narzędzie do kontroli i monitorowania ruchu internetowego zaprojektowane dla systemu Windows. Za pomocą NetLimiter można ustawić limity prędkości pobierania / wysyłania dla aplikacji lub nawet pojedynczego połączenia i monitorować ich ruch internetowy.
Oprócz tej wyjątkowej funkcji Netlimiter oferuje kompleksowy zestaw internetowych narzędzi statystycznych. Obejmuje pomiar ruchu w czasie rzeczywistym i długoterminowe statystyki ruchu internetowego na aplikację
Istnieją dobre powody, aby przyjrzeć się podejściu do zarządzania routerem sieci jako całości - jednak ponieważ pierwotne pytanie było specyficzne, a użytkownik może równie dobrze być jedynym komputerem w sieci, jest to kwestia drugorzędna.
Według jednej z najlepszych odpowiedzi, przez jakiś czas testowałem NetBalancer . Działa naprawdę dobrze - i jest łatwy w konfiguracji.
NetBalancer można kupić na ich stronie za około 50 USD. Wersja testowa / darmowa pozwala monitorować połączenia - ale nie pozwala na ograniczanie przepustowości.
Alternatywą jest NetLimiter . Ma bezpłatny okres próbny - ale zaczyna się od ~ 20 USD w wersji Lite lub ~ 30 USD w wersji Pro. NetLimiter to wypróbowana i przetestowana aplikacja dla wielu SysAdminów.
Po zakończeniu okresu próbnego NetLimiter, dopóki nie kupisz licencji, staje się narzędziem wyłącznie do monitorowania - i nie obsługuje już ograniczania przepustowości. Może to być nadal przydatne - ale nie w tym przypadku użycia.
Chociaż korzystanie z inteligentnego / wysoce konfigurowalnego routera jest zwykle lepszym podejściem do pełnego zarządzania siecią, rozłączenie między tym a pierwotnym pytaniem nie jest wyjaśnione w odpowiedzi @ ZaB. Pierwotne pytanie dotyczy konkretnie procesu - którego router nie ma niezawodnej identyfikacji.
Jedną z odmian, która jest bardzo przydatna na tym końcu, jest to, że aplikacja komunikuje się tylko przez określony kanał lub rodzaj ruchu, który router może łatwo zidentyfikować. Poniżej znajduje się przykład pobrań EA Origin:
Pochodzenie obecnie używa Akamai. Zazwyczaj ustawiam automatyczne pobieranie / aktualizacje, aby były uruchamiane w dowolnym momencie - ale wolałbym, aby nie wykorzystywał całej pojemności linii, gdy jestem zajęty robieniem innych, ważniejszych rzeczy. Pochodzenie dzieje się bardzo źle w tym rodzaju na rzecz, dlatego nie obsługuje harmonogramów pobierania ani ograniczania pobierania. Obecnie mój pulpit pobiera grę przy użyciu serwera „a1750.d.akamai.net”. Router MikroTik (przykład inteligentnego routera) może wziąć pod uwagę, że ta nazwa DNS została użyta (będzie w pamięci podręcznej DNS z adresem IP) i może zostać skonfigurowana tymczasowo, aby dodać adres IP serwera docelowego do „listy adresów” „. Cały ruch do / z listy adresów można dodać do kolejki przepustnicy, co technicznie ogranicza działanie pojedynczej aplikacji.
Powyższe podejście jest jednak naiwne. EA może w dowolnym momencie zmienić nazwę serwera, używany protokół lub inną niepowiązaną usługę korzystającą z infrastruktury Akamai, która może zostać przypadkowo zdławiona. Teraz moja lśniąca nowa zasada staje się bezużyteczna i łamana.
Oto mój biedny człowiek dławiący:
Nie ogranicza to dokładnie pasma, raczej zawiesza / wznawia proces pobierania pasma, a tym samym zwalnia część pasma dla innych aplikacji. I to za darmo!
Potrzebujesz PsSuspend.exe (umieszczam 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 przepustnicy jako parametrem
slow.bat filetransfer.exe
(zamień filetransfer.exe na nazwę programu)
Jeśli skończysz, naciśnij CTRL-C i anuluj partię.
Jeśli program nadal działa, rozważ wznowienie programu na wypadek przerwania partii, gdy program został zawieszony:
c:\tools\sysinternals\pssuspend.exe -r filetransfer.exe
(zamień filetransfer.exe na nazwę programu)
Za pomocą zasad grupy systemu Windows można ograniczyć przepustowość dowolnego procesu. Iść do:
Tutaj możesz zobaczyć aktualne zasady i stworzyć nowe poprzez:
Kreator umożliwia utworzenie zasady ograniczania przepustowości dla:
Twoje zasady można następnie filtrować według:
Możesz również utworzyć te zasady w Powershell , uruchamiając:
New-NetQosPolicy -Name "FTP" -AppPathNameMatchCondition "ftp.exe" -ThrottleRateActionBitsPerSecond 1MB
Chociaż może to wymagać uprawnień administratora i wydaje się, że występuje błąd, w którym utworzone zasady nie pojawią się w GUI.