実行中のプロセスの帯域幅を選択的に制限できる手法はWindowsにありますか?
実行中のプロセスの帯域幅を選択的に制限できる手法はWindowsにありますか?
回答:
Net Limiterを使用していますが、これには無料版がありますが、残念ながら制限機能の料金を支払う必要があります。
NetLimiterは、Windows用に設計された究極のインターネットトラフィック制御および監視ツールです。NetLimiterを使用して、アプリケーションまたは単一の接続のダウンロード/アップロード転送レート制限を設定し、インターネットトラフィックを監視できます。
このユニークな機能に加えて、Netlimiterはインターネット統計ツールの包括的なセットを提供します。リアルタイムのトラフィック測定と、アプリケーションごとの長期的なインターネットトラフィック統計が含まれます
ネットワーク全体を管理するための「インターネットに面するルーター」アプローチを検討するのには十分な理由があります-しかし、元の質問は具体的であり、ユーザーはネットワーク上の唯一のコンピューターである可能性が高いため、二次的な懸念事項です。
他のトップアンサーの1つにつき、しばらくの間NetBalancerをテストしました。それは本当にうまく機能します-そして、設定は簡単です。
NetBalancerは、約50ドルでWebページで購入できます。試用版/無料版では、接続を監視できますが、調整はできません。
代替手段はNetLimiterです。それは持っている無料の試用期間を -しかし、LiteバージョンまたはProバージョンのために〜$ 30〜$ 20において開始されます。NetLimiterは、多くのシステム管理者向けの実証済みのアプリケーションです。
NetLimiterの試用期間が終了すると、ライセンスを購入するまで、それは監視専用ツールになり、調整はサポートされなくなります。これはまだ便利ですが、このユースケースには適していません。
通常、スマート/高度に構成可能なルーターを使用することは、wholisticネットワーク管理へのより良いアプローチですが、それと元の質問の間の切断は@ZaBの回答で説明されていません。元々の質問は、具体的にはプロセスについて尋ねているものです-ルーターにはそれを確実に識別する方法がありません。
この目的に近い1つのバリエーションは、アプリケーションがルーターによって簡単に識別できる特定のチャネルまたはトラフィックのタイプのみで通信する場合です。EAのOriginダウンロードの例を以下に示します。
Originは現在、アカマイを使用しています。通常、私は自動ダウンロード/更新をいつでも実行するように設定しますが、他のより重要なことをするのに忙しい間、すべての回線容量を使用しないことを望みます。起源は、この種のもので非常に悪いことが起こる 、したがって、ダウンロードスケジュールまたはダウンロード調整はサポートされません。現在、私のデスクトップはサーバー「a1750.d.akamai.net」を使用してゲームをダウンロードしています。MikroTikルーター(スマートルーターの例)は、このDNS名が使用されたことに注意することができ(IPアドレスと共にDNSキャッシュにあります)、宛先サーバーのIPアドレスを「アドレスリスト」に追加するように一時的に構成できます「。アドレスリストとの間のすべてのトラフィックは、調整されたキューに追加できます。これにより、技術的には、単一のアプリケーションを調整できます。
ただし、上記のアプローチは単純です。EAは、サーバー名、使用されるプロトコル、またはアカマイインフラストラクチャを使用する別の無関係なサービスをいつでも変更する可能性があります。今、私の光沢のある新しいルールは役に立たず、壊れています。
これが私の貧しい男たちのスロットリングです。
帯域幅を厳密に制限するのではなく、帯域幅を消費するプロセスを一時停止/再開するため、帯域幅を他のアプリケーションに解放します。 そして、それは無料です!
あなたは必要PsSuspend.exeとバッチファイル(例えば)slow.batを:(\ツールは、Sysinternalsのを\私はCにこのファイルを置きます):
@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をプログラム名に置き換えてください)
Windowsグループポリシーを使用して、プロセスの帯域幅を調整できます。に行く:
ここでは、次の方法で現在のポリシーを確認し、新しいポリシーを作成できます。
ウィザードでは、次のいずれかの帯域幅を調整するポリシーを作成できます。
ポリシーは次のようにフィルタリングできます。
以下を実行して、Powershellでこれらのポリシーを作成することもできます。
New-NetQosPolicy -Name "FTP" -AppPathNameMatchCondition "ftp.exe" -ThrottleRateActionBitsPerSecond 1MB