ブログに戻る
·8分で読める·productdevbook

アクティビティモニタの「ネットワーク」タブ:隠れた小技

アクティビティモニタにはネットワーク周りの便利機能がたくさんあります。役に立つカラム、並び替え、右クリックメニューまで一通り紹介します。

  • macOS
  • Network monitoring
  • Tutorial
  • Tools

ほとんどの人はアクティビティモニタを開き、ネットワークタブをクリックし、5列見て、「送信したバイト」でソートし、閉じます。それが提供されているものの約20%です。アクティビティモニタのネットワークタブには隠れた列、Dockアイコングラフ、エネルギー影響統合、nettopに手を伸ばす代わりに答えられる右クリックメニューがあります。Macのアクティビティモニタネットワークを一目ツールから本当に有用なものに変えるツアーを示します。

十分でなくなる場所についても正直に書きます——確かにそうなり、そこで専用通信量モニターが元を取ります。

アクティビティモニタを開く(Spotlight: 「アクティビティモニタ」)、ネットワークタブをクリック。既定の列:

  • プロセス名
  • PID
  • 送信したバイト
  • 受信したバイト
  • 送信したパケット
  • 受信したパケット
  • ユーザ

それが表面的なビューです。アップロード中の犯人を見るには送信したバイトでソート、ダウンロードには受信したバイト。値はプロセス起動以来の累積です——nettopと同じ落とし穴。長く生きたclouddはアイドルでも巨大に見えます。

ウィンドウ下部にはグラフと合計があります。グラフは既定で1秒あたりパケット数を示します。より有用な1秒あたりバイト数ビューにはドロップダウンをデータに切り替えます。

有効化する価値のある隠れた列

任意の列ヘッダを右クリックして利用可能な列を見ます。あるいはメニューを使う: 表示 → 列。既定以外で本当に有用と思うもの:

送信データ/秒と受信データ/秒

ライブで計算される秒あたりバイト数。合計ではなくレートを与えてくれます——「今何が通信量を引いているか」にずっと有用。ダウンロード中と疑うときは受信データ/秒でソート。

送信したバイト(累積)と受信したバイト(累積)

既定とわずかに異なる——プロセスに対してAppleが持つすべての生涯集計を含みます。しばしば同じ数字、たまに違う、プロセスがカーネルにどう登録するかによる。

TCP RTTとRTT分散

プロセスのTCP接続のラウンドトリップタイム。特定のアプリがラグく感じる理由を調査するときに有用。同期エンドポイントへ240msのRTTを示すSlackプロセスは、18msのRTTでも遅いSlackプロセスとは別問題です。

アーキテクチャ

Apple Silicon vs Intel変換。厳密にはネットワーク列ではありませんが、ここで見えます——古いバイナリのためにRosetta 2プロセスがネットワーク上で誤動作していると疑うときに有用。

検査、Dockアイコン、エネルギー、その他のトリック

既定はそこにあるものをほとんどかすめません。少数のトリックがネットワークタブを本当に有用なものに変えます。

右クリックメニュー

任意のプロセス行を右クリックして:

  • 検査 — メモリ、統計、開いているファイルとポートの3タブのウィンドウを開く
  • プロセスのサンプル — スタックトレースをキャプチャ。プロセスがおしゃべりしている間何をしているかの診断に有用
  • 終了 / 強制終了 — 暴走を見つけたときに便利

検査の開いているファイルとポートタブは過小評価されているものです。プロセスが開いているすべてのファイル記述子をリストし、ソケットも含み——リモートアドレスとポート付き。これは本質的にその1つのPID用のlsofで、スクロール可能なウィンドウ内。「このプロセスは何と話しているか?」に良い。

Dockアイコングラフ

アクティビティモニタ自身がDockアイコンをライブネットワークグラフとして表示できます。表示 → Dockアイコン → ネットワーク使用状況を表示。今、アクティビティモニタのDockアイコンは集約ネットワークトラフィックの小さなヒストグラムになります。Dockに保持と組み合わせると、無料の常時表示通信量インジケータができあがります——アクティビティモニタを常時動かすことに問題なければ。

専用メニューバーアプリよりメモリを食い、グラフは小さくアプリ別ではありませんが、サードパーティツールが嫌なら使えます。

エネルギー影響統合

エネルギータブには**エネルギー影響(平均)**という列があり、特にバッテリーでネットワーク活動を組み込みます。エネルギー影響が高いプロセスがネットワークタブでも高いなら、通常非効率的なことをしています——ロングポーリングループ、バッチング欠如、圧縮欠如。

エネルギーとネットワークタブの相互参照は、ラップトップで報われるトリックの1つです。バッテリーが溶けていてエネルギー影響リストをclouddMailMusic、または同期重いプロセスが率いるなら、ネットワークタブが実際にバイトを動かしているかCPU忙しいだけかを教えてくれます。

ソート、それから「i」をクリック

ネットワークタブを受信データ/秒でソート。犯人を特定。ツールバーの「i」(情報)ボタンをクリック——検査メニューと同じ——そして開いているファイルとポートタブに切り替え。今そのプロセスが開いているすべてのソケットを、リモートIPとポート付きで見ています。原因(どのアプリ)から詳細(どのエンドポイント)へ2クリック。これがアクティビティモニタが本物のネットワークデバッグツールに最も近づくところです。

ユーザでフィルタ

Macに複数のユーザアカウントがあるなら、ユーザ列でソートすると各ユーザのプロセスが何をしているかを見られます。家族Mac(「子供のMinecraftクライアントが原因か?」)や共有開発機で有用です。

ovaを動かしてみる

一目で分かるメニューバー通信量モニター——ローカル、署名済み、約3MB。

macOS用ダウンロード

Macのアクティビティモニタネットワークが十分でなくなるところ

ジェネラリストツールであり、エッジを早く感じます。

履歴なし

nettopと同じギャップ。ネットワークタブは現在と起動以来の合計を表示。スパイク中に開いていなければ、スパイクは見ていないのです。ローリング窓も、昨日午後の分単位ビューもありません。

ヘルパー折りたたみなし

nettopと同じく、Google Chrome Helper (Renderer)(GPU)(Plugin)が別行で見えます。「Chrome」の受信したバイト列は十数行に分かれています。自分で計算してください。

起動以来の累積は誤解を招く

3日間動いているプロセスは、新しいものが今100倍多く通信量を使っていても、今朝始まったものを矮小化します。受信データ/秒列が役立ちますが、既定で表示されません。

メニューバーの存在感なし

アクティビティモニタはウィンドウを欲しがります。Dockアイコングラフでさえアプリが動いてDock可視である必要があります。どこからでも一目で見えるインジケータはありません。

「何かおかしい」用、「正常はどう」用ではない

何かおかしく感じたときアクティビティモニタを開きます。今週のトラフィックパターンが先週と似ているか確認するために開きません。それは批判ではなく——別の仕事です。

アプリ別履歴
ovaはスクラブ可能なタイムラインを保持するので、「昨日午後2時47分にこのアプリが何をしていたか」に答えられます。アクティビティモニタのネットワークタブは設計上できません。

いつ何を使うか

シンプルな決定木:

  1. 「今何かが私のネットワークを使っているか?」 — メニューバーアプリ。ovaはメニューバーに現在のレートを表示。クリックでアプリ別内訳。
  2. 「今アップロードを叩いているプロセスはどれか?」 — アクティビティモニタのネットワークタブ、送信データ/秒でソート。
  3. 「このプロセスは何と話しているか?」 — アクティビティモニタ → 右クリック → 検査 → 開いているファイルとポート。またはlsof -i -p <PID>
  4. 「昨日午後3時に何が私のネットワークを使っていたか?」 — 履歴が必要。アクティビティモニタはできない。データを永続化するツールを使う。
  5. 「ファンが上がっているのはネットワーク活動のため?」 — アクティビティモニタのエネルギータブ、それからネットワークタブと相互参照。
  6. 「回線上には何があるか?」tcpdumpまたはWireshark。アクティビティモニタはそこまで深くいきません。

知っておくべき密かなこと

  • 更新頻度は設定ですべてのタブに影響。最もライブなデータには「しばしば(1秒)」、絶え間ない再描画が気になるなら「あまりしばしばでなく(5秒)」に。
  • 非アクティブなプロセスを表示は表示メニューの下で、終了したが集計がまだ残るプロセスを表示。フォレンジックに時々有用。
  • デフォルトフィルタを保存は表示メニュー下で、検索ボックスに入力したフィルタを起動間で保存。
  • CPUとネットワークタブには隠れた統合がある: 0%CPUだが高い受信したバイトのプロセスはほぼ確実にカーネル側I/Oケース(ファイルコピー、AirDrop受信を考えて)。100%CPUとゼロネットワークのプロセスはCPUバグであってネットワークではない。
  • 特定のプロセス(ddや一部のAppleデーモンなど)にkill -SIGINFOを送ると、進捗を統合ログに記録します。アクティビティモニタは教えてくれませんが、長時間タスクを調査するときネットワークタブと組み合わせます。

まとめ

Macのアクティビティモニタネットワークビューは、既定の列が示唆するより能力があります。送信データ/秒と受信データ/秒を有効化、右クリック検査から開いているファイルとポートへのパスを学び、無料の常時オンビューが欲しいならDockアイコングラフをオン、何もインストールせずに使えるネットワークデバッグ面が得られます。

履歴、ヘルパー折りたたみ、ウィンドウを必要としないメニューバーの存在感には、ovaをインストールしましょう——約3MB、macOS 14以降、Apple SiliconとIntel、約1Hzでサンプリング、すべてのデータがローカル。両方を使う: 「今詳細に何が起きているか」にアクティビティモニタ、「何が起きていたか、正常はどう見えるか」にova。