特定のシェルのインターネット帯域幅の使用を制限する


21

Linuxを1つのシェルで更新したいのですが、デフォルトではアップデーターのwgetまたはaxelはすべての帯域幅を使用します。

このシェルで速度を制限するにはどうすればよいですか?

私は他のシェルに公平なシェアを持たせ、そのシェル内のすべてを制限したい–プロキシのようなものを!

ZshとArch Linuxを使用しています。

この質問は、プロセス全体またはセッション全体のソリューションに焦点を当てています。ネットワーク帯域幅を制限する方法をご覧くださいLinux上のシステム全体またはコンテナ全体のソリューション用。

回答:


22

ユーザー空間帯域幅シェーパーのトリクルをご覧ください。トリクルでシェルを起動し、速度を指定するだけです、例えば:

trickle -d 100 zsh

このシェル内で起動されるすべてのプログラムのダウンロード速度を100KB / sに制限しようとします。

トリクルが使用LD_PRELOADするため、これは静的リンクプログラムでは機能しませんが、ほとんどのプログラムでは問題になりません。


SOCK_STREAMSソケットに制限されているため、たとえばUDPトラフィックには影響しないことに注意してください。
ステファンシャゼル

5

http://lartc.org/wondershaper/

Ubuntu / Debianリポジトリにありますが、おそらく他のリポジトリにもあります。単一のシェルだけでなく、マシン全体を制限します。自分で試したことはありません


2

manページにwgetは、次の情報が記載さています。

 --limit-rate=amount

ダウンロード速度を1秒あたりのバイト数に制限します。量は、バイト、キロバイト(サフィックスはk)、メガバイト(mサフィックス)で表すことができます。たとえば、-limit-rate = 20kは、取得レートを20KB / sに制限します。これは、何らかの理由で、Wgetが利用可能な帯域幅全体を消費したくない場合に役立ちます。


アップデート質問:私は、すべてのアプリケーションだけではなく、限られwgetの欲しい
ムハンマド・Efazati

@Efazati:一般的な設定方法がわかりません。wgetとapt-getにのみ使用します。
マルコダニエル

男を心配しないでください、ちょうど答えを待って;)
モハマドエファザティ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.