Windowsには、実行中のプロセスの帯域幅を選択的に制限できる技術はありますか?
92 James McMahon 2010-04-28
私が使っているのは、ネットリミッターで、これは無料版のしかし、残念ながら制限機能のためにお金を払う必要があります
NetLimiterは、Windows用に設計された究極のインターネットトラフィック制御と監視ツールです。あなたは、アプリケーションまたは単一の接続のダウンロード/アップロードの転送速度の制限を設定し、そのインターネットトラフィックを監視するためにNetLimiterを使用することができます
このユニークな機能とともに、ネットリミッターはインターネット統計ツールの包括的なセットを提供しています。リアルタイムのトラフィック測定とアプリケーションごとの長期的なインターネットトラフィック統計が含まれています
23 user 2012-02-18
全体としてネットワークを管理するための “インターネットに面したルータ “アプローチを見て良い理由があります – しかし、元の質問は特定のものであり、ユーザーは非常によくネットワーク上の唯一のコンピュータである可能性がありますように、それは二次的な懸念である
NetBalancer
他のトップアンサーの一つによると、しばらくの間、私はNetBalancerをテストしました。それは本当によく動作します – そして、設定も簡単です
NetBalancerは、彼らのウェブページで約50ドルで購入可能です。試用版/フリー版では接続を監視することができますが、スロットリングはできません
NetLimiter
代替案はNetLimiterです。それは無料の試用期間を持っています – しかし、Lite版の場合は〜20ドル、Pro版の場合は〜30ドルから始まります。NetLimiterは、多くのSysAdminsのための試行錯誤されたGo-to-Toアプリケーションです
NetLimiterのトライアルが終了すると、ライセンスを購入するまでは、監視専用のツールになります – スロットリングをサポートしなくなります。これはまだ便利ですが、このユースケースでは使えません
ルータを使用して(このユースケースではなぜこれが良いアプローチではないのかを説明しながら)
スマート/高度に設定可能なルータを使用することは、通常、全体的なネットワーク管理のためのより良いアプローチですが、それと元の質問との間の切断は @ZaB の回答では説明されていません。元の質問は、特にプロセスについて質問しています
この場合、アプリケーションがルータによって簡単に識別できる特定のチャンネルやタイプのトラフィックのみを介して通信する場合に、有用に近いバリエーションがあります。以下にEAのOriginダウンロードの例を示します
Origin は現在、アカマイを使用しています。通常、自動ダウンロード/更新をいつでも実行できるように設定していますが、他の重要な作業に追われている間は、回線容量を使い切らないようにしたいと思っています。Origin は 悪い この ソート の もの が非常に悪いので、ダウンロードスケジュールやダウンロードスロットルをサポートしていません。現在、私のデスクトップはサーバー「a1750.d.akamai.net」を使ってゲームをダウンロードしています。MikroTikルータ(スマートルータの例)は、このDNS名が使用されたことに注意を取ることができます(それはIPアドレスでDNSキャッシュになります)と、一時的に「アドレスリスト」に宛先サーバーのIPアドレスを追加するように設定することができます。アドレスリストへの/アドレスリストからのすべてのトラフィックをスロットルキューに追加することができ、技術的には単一のアプリケーションをスロットルすることができます
しかし、上記のアプローチは甘いものです。EA はいつでもサーバー名や使用するプロトコルを変更したり、アカマイのインフラを使用している別の無関係なサービスが不用意にスロットルされたりする可能性があります。これで私のピカピカの新しいルールは無用の長物となり、壊れてしまいました
9 zaTricky 2015-09-10
ここに私の貧乏人のスロットルがあります
これは正確には帯域幅を制限するのではなく、むしろ帯域幅を食うプロセスを一時停止/再開し、他のアプリケーションのために帯域幅を解放します。しかも無料です
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
ここで管理者としてコマンドラインを開き、パラメータとしてスロットルプログラムを指定してバッチファイルを実行します
slow.bat filetransfer.exe
(filetransfer.exeをプログラム名に置き換えてください)
終わったら、CTRL-Cを押してバッチをキャンセルします
プログラムがまだ実行中の場合は、プログラムが中断されている間にバッチを中断した場合に、プログラムを再開することを検討してください
c:\tools\sysinternals\pssuspend.exe -r filetransfer.exe
(filetransfer.exeをプログラム名に置き換えてください)
6 bebbo 2016-10-20
Windows グループ ポリシーを使用して、任意のプロセスの帯域幅をスロットルすることができます。に移動します
- スタートメニュー > 実行 > gpedit.msc
- コンピュータ/ユーザー構成(どちらか一方を選択) > Windowsの設定 > ポリシーベースのQoS
ここでは、現在のポリシーを確認したり、新しいポリシーを作成したりすることができます
- ポリシーベースのQoS」を右クリックするか、「アクション」>「新しいポリシーの作成」のいずれかを選択します
- その後、ウィザードに従って、新しいスロットリングポリシーを作成します
ウィザードでは、どちらかの帯域幅をスロットルするポリシーを作成することができます
- あなたのパソコンの中にある全てのもの
- Specific processes
- 特定のウェブサイト(HTTPプロトコルを使用するアプリケーションのみ)
そして、あなたのポリシーをフィルタリングすることができます
- TCP または UDP プロトコル
- Source/destination IP
- Source/destination ports
また、Powershellを実行することで、これらのポリシーを作成することもできます
New-NetQosPolicy -Name "FTP" -AppPathNameMatchCondition "ftp.exe" -ThrottleRateActionBitsPerSecond 1MB
これには管理者権限が必要かもしれませんが、このように作成したポリシーがGUIに表示されないバグがあるようです
4 Silveri 2018-11-18