web-dev-qa-db-ja.com

Mac OS Xでのアプリケーションごとのネットワーク帯域幅の調整

ITunesが私の帯域幅をすべて消費しているようで、ダウンロード時にWebを使用する他のアプリケーションでNiceを再生しないようです。実際、iTunes Storeを参照して大きなファイルや多数のファイル(ポッドキャスト、テレビ番組、大きなアプリなど)をダウンロードする場合、十分な帯域幅が得られません。

すべてのダウンロードをできるだけ早く取得することに関心はありません。ダウンロードの優先度は非常に低いため、目が覚めている間はこれを行う必要はありませんが、更新ボタンを押すことはできません。ベッドのmとそれをすでに忘れていました。

ターミナルを介して、Webブラウザやその他のアプリケーションを妨げることなくiTunesが取得するダウンロード帯域幅を制限するアプリケーションまたはツールはありますか?

FOSS/GPLソフトウェアが望ましいですが、有料のソフトウェアも受け入れられるかもしれません。

38
dotHTM

GUI:

CLI(ポート固有のフィルタリングはありませんが、適応できます):

これらのツールは、フィルター基準としてポートまたはポート範囲に依存しています。アプリケーションが使用しているポートがわからない場合は、そのドキュメントを確認するか、アプリケーションの実行中にlsofを使用してポート番号を確認できます。

Sudo lsof -i -P

ほとんどまたはすべてのツールで ipfw が使用されています pf が正式に廃止されたため、これらのソリューションがOS X 10.9以降で機能するかどうかは不明です。

10
Stefan Schmidt

古い質問ですが、私は同じような問題に直面しているので、返信したいと思いました。

問題はおそらく実際にはISPでのトラフィックシェーピングが原因です。彼らは、顧客により良いストリーミングサービスを提供するために、既知のコンテンツプロバイダーへのトラフィックを積極的に優先します。私はそれらがいくつかのケースで少し行き過ぎたと主張します-私はちょうどバックグラウンドのiCloud写真のアップロードが45000ミリ秒を超えるping時間を引き起こしている同様の問題を診断しました。

この問題を解決するには、ISPのトラフィックシェーピングが他のすべてのアプリケーションから帯域幅を完全に奪うのを防ぐために、コンピューターが使用する総帯域幅の量を単に減らすことができます。皮肉なことに、これにより、ネットワーク上の他のコンピューターのパフォーマンスが明らかに向上するだけでなく、自分のコンピューターのブラウジングパフォーマンスが向上します。たとえば、15 Mbpsのダウンストリームキャップがある場合、コンピュータを12 Mbpsのみに制限することができ、ISPアルゴリズムはトラフィックを積極的にシェーピングする必要性を認識しなくなります。

Sudo ipfw pipe 1 config bw 12Mbits/s
Sudo ipfw add 1 pipe 1 tcp from any to me

私の場合、制限要因はアップストリーム帯域幅(ISPによって1Mbpsに制限されていた)だったので、以下を実行して問題を解決しました。

Sudo ipfw pipe 1 config bw 768Kbits/s
Sudo ipfw add 1 pipe 1 tcp from me to any

これらのコマンドは再起動するまで有効ですが、ルールをキャンセルするには、次のようにしてください。

ipfw delete 1
5
John Mileham

[Mountain] Lionで IceFloor を使用します

4
GJ.

waterroof はどうですか? IPFWの簡単なフロントエンドです。 (そしてオープンソース。)

4
Ben Chun

OS X 10.10の現在の開発に関連して、一般に参照されるipfw実行可能ファイルは使用できなくなりました。ただし、同様のファイアウォール構成を処理できるpf実行可能ファイルがあります。

"Murus"( http://www.murusfirewall.com )と呼ばれるGUIインターフェースがあり、pfの構成に使用できます。私が理解している限り、UIからの帯域幅制限も積極的にサポートしています。

[編集]

誰かがipfwなしでは行けない場合は、自分でコンパイルしてみてください。 (FreeBSDからの)ソースコードは、こちらから入手できます。 http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/

Appleはまた、使用するオープンソースプロジェクトのソースコードを公開しています(d)。 ipfwはここにあります: http://www.opensource.Apple.com/source/network_cmds/network_cmds-329.2.2/

3
Chris

これは本当にひねくれた考えですが、Mac OS Xの組み込みのipfwとdummynetを使用してこれを行うためのルールを書くことができるかもしれません。これらのツールのマニュアルページを参照してください。

2
Spiff

http://github.com/zquestz/throttled まだ見つけていない場合、これはあなたが探しているものかもしれません。

1
Robbie

trickle はあなたが求めているものです。

唯一の問題は、kqueueを使用する実行可能ファイルをサポートしておらず、静的にリンクされた実行可能ファイルをサポートしていないことです。 iTunesは大丈夫です。

1
John T

MacOSで帯域幅を調整する最良の方法は、macOSカーネルに組み込まれ、pfパケットフィルターで動作するDummynetを使用することです。私の意見では、プロセスごとに帯域幅を効果的に調整する唯一の方法は、プロセスによってバインドされているローカルポートを特定し、対応するpfダミーネットルールを作成することです。私が知る限り、このオプションを提供する唯一のmacOSアプリはScudoです(私はScudo、Vallum、およびMurusの開発者です)。 Scudo 1.0ベータ3は現在無料で利用できます。Scudoのプロセスごとの帯域幅調整の詳細については、こちらをご覧ください http://www.murusfirewall.com/forum/viewtopic.php?f=2&t=1919&p= 3281#p3281

0
Hany El Imam

私は最近(そしてまだ試用中)Vallumを見つけて自分のアプリを制御できるようにしました:

これはmacOSアプリケーションファイアウォールであり、インターネットを使用できるアプリを制限できます。これまでのところ非常に洗練されており、アクセスしたいすべてのものを許可するDefault ProfileMobile Hotspot Profile外出中にアプリを制限します。


更新:Vallumを使用してアプリの帯域幅を「絞る」ことができませんでした。さらに制限する場所で異なるプロファイルのみをセットアップします/ lessアプリ。

0
skplunkerin