各アプリまたはプロセスが使用している帯域幅を確認するにはどうすればよいですか?


15

突然、ダウンストリームの帯域幅がISPから提供される最大値である400 KBpsであることがわかりました。そのため、最大容量でダウンロードしているアプリケーションがあります。
問題は、ダウンロードを開始しなかったため、何も言わずにバックグラウンドで実行していることです。
どのアプリまたはプロセスがそれを使用しているかを知るにはどうすればよいですか?
または、基本的に、各オープンプロセスまたはアプリケーションが使用している帯域幅をどのように判断できますか?


ファイアウォールアプリを偶然見つけてから、アプリごとおよびユーザーごとのネットワーク使用量をグラフ化できるようになりました...しかし、もう見つけられないようです。:/
ジェイソンサラズ

HandsOffはアプリごとの使用状況を示しています
-hsmiths

自動ソフトウェア更新はありましたか?
jm666

@ jm666:それは私の最初の容疑者でしたが、そうではありませんでした
ペトルザ

回答:



14

引用:「どのアプリまたはプロセスがそれを使用しているかを知るにはどうすればよいですか?」

ターミナルでnettop(1)を試すことができます。これはプリインストールされており、数秒ごとに更新されて、開いているすべてのネットワーク接続のダッシュボードが(プロセスごとに)使用状況とともに表示されます。lsof使用状況データも表示されるため、より良いです。

$ nettop

次に、「d」を押して、「bytes in」または「bytes out」列で、奇妙に見えるエントリまたは常に大量のトラフィックを持つエントリを探します。'd'は、ネットトップに各画面の更新の違いのみを表示するよう指示します。

実用的な使用上の注意:

プロセス名がわからない場合は、Googleで確認してください。

プロセスを回避したくない場合は、pid(nettopのプロセス名の隣の数字)を取得し、でそれを強制終了しkill -9 <pid>ます。それでも解決しない場合は、プロセスをアンインストールできるかどうかを確認してください。

プロセスがネットワークを介して送信する内容に関心がある場合は、その特定の接続のクライアントポート番号(例: '53133'から10.0.0.1:53133->74.125.68.100:80)を使用してtcpdump(1)を実行し、交換されるパケットのデータを確認します。sudo tcpdump -nnvvXSs 1514 port 53133

プロセスが通信している宛先に興味があるが、宛先IPアドレスに逆DNSホスト名がない場合(前の例のように)、Webブラウザーでhttps://としてそのIPアドレスにアクセスしてみてくださいIP、アドレスバーの壊れたロックアイコンをクリックし、証明書の詳細を表示して、そこで提供されているドメイン(この場合は* .google.com)を確認します。宛先でSSLポート443が開いていない場合、これは機能しません。


反対票の理由がわかりません。AFAICT、答えはまさに OPが探しているものです(どのプロセスが帯域幅を使い果たしているかを監視する方法)。
2

一見するnettopと、より不可解なようですtop。たとえば、一番アクティブなプロセスを取得する方法がわかりません。
ヒッピートレール

4

アクティビティモニターからすべてのネットワークアクティビティを簡単に表示できます。OS Xに組み込まれています。

  • [アプリケーション]> [ユーティリティ]> [アクティビティモニター]を開きます。
  • [ネットワーク]タブをクリックします

アクティビティモニター、ネットワークタブ。 送信パケットでソート


2
合計バイト数ではなく、1秒あたりの帯域幅を確認する方法はありますか?
Crummy

@Crummy列ヘッダーを右クリックすると、表示される列を変更できます。1秒あたりの列があるかどうかはわかりませんが、何か役立つものがあるはずです。
マイケルトンプソン

4

(素晴らしい)ネットトップの答えを補完するために-出力が不可解であると不満を言う人もいました。きれいに出力するには、次を試してください。

nettop -P -k state,interface -d

フラグの説明:

-P 各親プロセスの行を折りたたみます

-k state,interface あなたとバイト入力/出力列の間にあるあまり情報のない列を削除します

-dデルタオプションをアクティブにします(dボタンを押すのと同じ)

hボタンを使用するかman nettop、いくつかのオプションを実行します。


3

Rubbernetは、Macのアプリケーションごとのネットワーク使用量を確認できる優れたアプリであり、リモート監視をサポートしています。管理アクセス権のあるMacにRubbernetプラグインをインストールし、ネットワーク上のすべてのMacintoshのアプリケーションごとの帯域幅使用率を自分のコンピューターから監視できます。

費用はかかります(ウェブサイトで30ユーロですが、何らかの理由でMac App Storeで 19.99ドルですが、ウェブサイトで完全に機能する無料試用版があります。まだアプリを購入していないので、確認できませんアプリのライセンスを1つ購入してから、追加料金でMacの任意の数にプラグインをインストールしますが、それが状況のようです。

開発者は、Linkinus IRCクライアントを実行するのと同じ人々です。

古いFlashの更新に関する偽の警告を含むWebサイトにつながるため、ラバーネットへのリンクを削除しました


2

lsofiftop(パッケージをインストールするための直接リンク)が思い浮かぶ最高のツールです。

また、この質問もご覧ください


しかし、どのアプリが帯域幅を使用しているかは表示されません
ペトルザ

@Petruzaでは、lsofを使用して特定の接続に関連付けられたプログラムを識別し、iftopを使用して接続の帯域幅を監視できます。疑わしい接続/プログラムを監査するのに十分な情報である必要があります。
ソマントラ

@Petruza、あなたの場合、おそらく帯域幅を使い果たしている接続を特定するためにiftopから始め、lsofまたはnetstatで所有アプリへの接続をトレースします。
ソマントラ

1

もう1つのオプションは、リモートモニタリングメカニズムがまったくなく、うまく機能していないようで、OSトラックです。Mac App Storeでも無料で入手できます。それは多くのリソース自体を消費するように見えたので、私はこのアプリが本当に好きではありませんでした。しかし、それは後のバージョンで修正されたものかもしれません。


0

sudo fs_usage プロセスを識別する可能性があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.