Möglichkeit, die Bandbreite von Programmen unter Windows zu begrenzen?

Gibt es in Windows eine Technik, mit der die Bandbreite eines laufenden Prozesses selektiv begrenzt werden kann?

Author: I say Reinstate Monica, 2010-04-28

4 answers

Ich benutze Net Limiter, das eine kostenlose Version hat, aber leider müssen Sie für die Begrenzungsfunktion bezahlen.

NetLimiter ist ein ultimatives Tool zur Steuerung und Überwachung des Internetverkehrs, das für Windows entwickelt wurde. Sie können NetLimiter verwenden, um Download/Upload-Übertragungsratenlimits für Anwendungen oder sogar einzelne Verbindungen festzulegen und deren Internetverkehr zu überwachen.

Zusammen mit dieser einzigartigen Funktion bietet Netlimiter einen umfassenden Satz von Internet-Statistiken Tools. Es enthält Echtzeit-Verkehrsmessung und langfristige Internet-Verkehrsstatistiken pro Anwendung. [5]}

 24
Author: user,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Es gibt gute Gründe, den "Internet Facing Router" - Ansatz für die Verwaltung eines Netzwerks als Ganzes zu betrachten-da die ursprüngliche Frage jedoch spezifisch war und der Benutzer möglicherweise der einzige Computer im Netzwerk ist, ist dies ein sekundäres Problem.

NetBalancer


Nach einer der anderen Top-Antworten habe ich eine Weile lang NetBalancer getestet. Es funktioniert wirklich gut und ist einfach zu konfigurieren.

NetBalancer ist auf ihrer Webseite zum Kauf verfügbar für etwa 50 Dollar. Mit der Testversion / kostenlosen Version können Sie Verbindungen überwachen-aber keine Drosselung zulassen.

NetLimiter


Die Alternative ist NetLimiter. Es hat eine kostenlose Testphase von - beginnt jedoch bei ~$20 für die Lite-Version oder ~$30 für die Pro-Version. NetLimiter ist die bewährte Go-to-Anwendung für viele Systemadministratoren.

Wenn die Testversion von NetLimiter endet, wird sie bis zum Kauf einer Lizenz zu einem reinen Überwachungstool - und wird nicht mehr unterstützt Throttling. Dies kann immer noch nützlich sein-aber nicht für diesen Anwendungsfall.

Verwenden eines Routers (mit einer Erklärung, warum dies kein guter Ansatz für diesen Anwendungsfall ist).


Obwohl die Verwendung eines intelligenten / hochkonfigurierbaren Routers normalerweise der bessere Ansatz für die ganzheitliche Netzwerkverwaltung ist, wird die Trennung zwischen dieser und der ursprünglichen Frage in @Zabs Antwort nicht erklärt. Die ursprüngliche Frage stellt sich speziell nach einem Prozess - zu dem ein Router keine Möglichkeit hat identifizieren.

Die eine Variante, die an diesem Ende nahezu nützlich ist, ist, wenn eine Anwendung nur über einen bestimmten Kanal oder Verkehrstyp kommuniziert, der vom Router leicht identifiziert werden kann. Ein Beispiel ist unten von EA ' s Origin downloads:

Origin verwendet derzeit Akamai. Normalerweise stelle ich automatische Downloads/Updates so ein, dass sie jederzeit ausgeführt werden - aber ich würde es vorziehen, dass nicht die gesamte Leitungskapazität verwendet wird, während ich damit beschäftigt bin, andere wichtigere Dinge zu tun. Origin ist zufällig sehr schlecht am dies Sortieren von Sache, so es unterstützt nicht die download-Zeitpläne oder download-Drosselung. Derzeit lädt mein Desktop ein Spiel über den Server herunter. "a1750.d.akamai.net". Ein MikroTik-Router (ein Beispiel für einen Smart Router) kann feststellen, dass dieser DNS-Name verwendet wurde (er befindet sich im DNS-Cache mit einer IP-Adresse) und vorübergehend so konfiguriert werden kann, dass die IP-Adresse des Zielservers zu einer "Adressliste"hinzugefügt wird. Der gesamte Datenverkehr zu / von der Adressliste kann zu einer drosselte Warteschlange dadurch, technisch, Drosselung einer einzelnen Anwendung.

Der obige Ansatz ist jedoch naiv. EA könnte zu jedem Zeitpunkt den Servernamen, das verwendete Protokoll oder einen anderen nicht verwandten Dienst, der die Akamai-Infrastruktur verwendet, versehentlich drosseln. Jetzt wird meine glänzende neue Regel unbrauchbar und gebrochen.

 9
Author: zaTricky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-06 13:07:29

Hier ist meine arme mans Drosselung:

Es begrenzt nicht genau das Bandwith, sondern unterbricht/setzt den Bandbreitenspeichervorgang fort und gibt so etwas Bandbreite für andere Anwendungen frei. Und es ist kostenlos!

Sie benötigen PsSuspend.exe (ich habe diese Datei in C:\tools\sysinternals) und eine Batch-Datei (z.B.) langsam.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

Öffnen Sie nun eine Befehlszeile als Administrator und führen Sie die Batchdatei mit dem Drosselprogramm als parameter

slow.bat filetransfer.exe

(ersetzen filetransfer.exe mit Ihrem Programmnamen)

Wenn Sie fertig sind, drücken Sie STRG-C und brechen Sie den Stapel ab.

Wenn das Programm noch läuft, sollten Sie das Programm fortsetzen, falls Sie den Stapel unterbrochen haben, während das Programm angehalten wurde:

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

(ersetzen filetransfer.exe mit Ihrem Programmnamen)

 6
Author: bebbo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-20 10:05:21

Sie können die Windows-Gruppenrichtlinie verwenden, um die Bandbreite eines beliebigen Prozesses zu drosseln. Gehen Sie zu:

  • Startmenü > Ausführen > gpedit.msc -
  • Computer - / Benutzerkonfiguration (wählen Sie das eine oder andere aus) > Windows-Einstellungen > Richtlinienbasiertes QoS

Hier können Sie die aktuellen Richtlinien sehen und neue erstellen durch:

  • Klicken Sie entweder mit der rechten Maustaste auf "Richtlinienbasiertes QoS" oder gehen Sie zu "Aktion" > Neue Richtlinie erstellen...
  • Folgen Sie dann dem Assistenten, um eine neue Drosselung zu erstellen Politik.

Mit dem Assistenten können Sie eine Richtlinie zum Drosseln der Bandbreite für folgendes erstellen:

  • Alles auf Ihrem Computer
  • Spezifische Prozesse
  • Bestimmte Websites (nur für Anwendungen mit HTTP-Protokollen)

Und Ihre Richtlinien können dann gefiltert werden durch:

  • TCP-oder UDP-Protokolle
  • Quell - /Ziel-IP -
  • Quell - / Zielports

Sie können diese Richtlinien auch erstellen in Powershell durch Ausführung:

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

Obwohl dies Administratorrechte erfordern könnte, und es scheint ein Fehler zu geben, bei dem so erstellte Richtlinien nicht in der GUI angezeigt werden.

 5
Author: Silveri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-11-18 10:38:36