macOSの隠れた通信量食いを見つける方法
ヘルパープロセス、システムデーモン、静かなバックグラウンド同期に隠れる通信量食いを、macOSで見つけ出す実用ガイドです。
- macOS
- Bandwidth
- Troubleshooting
- Network monitoring
すべてのアプリを終了。すべてのブラウザタブを閉じた。Wi-Fiアイコンがメニューバーで動いているべき唯一のもの。それでもルーターは時間とともに持続8Mbpsのアップロードを表示。Macのどこかで何かが話している——そしていつもの容疑者は誰も開いていない。macOSがフードの下に隠す通信量ホッグを狩るのは、明らかな犯人を追跡するのとは異なる種類のデバッグ。
Dockの可視アプリは滅多に本物の問題ではない。隠れたものがそう: ヘルパープロセス、システムデーモン、バックグラウンド専用ユーティリティ、UIのまったくないログイン起動エージェント。本稿はそれらを見つけ、名指し、何をするか決める方法を歩きます。
なぜmacOSが表面化する最悪の通信量ホッグが隠れているか
人々がMacに隠れた通信量ホッグがあると言うとき、通常4カテゴリの1つを意味します:
- ヘルパープロセス — Chrome Helper、Slack Helperなど。認識する親アプリがありますが、トラフィックは馴染みのないPIDの下に表示されます。
- システムデーモン —
cloudd、mediaanalysisd、nsurlsessiond、mDNSResponder、apsd。macOSの一部で実際の仕事をしますが、名前は不可解。 - バックグラウンド専用アプリ — Dockアイコンなしのバックアップエージェント、アンチウイルス、RGB照明デーモン、クラウド同期クライアント。
- LaunchAgentsとLaunchDaemons —
launchdに登録された自動起動の小さな永続プログラムで、Cmd+Tabスイッチャに決して現れない。
これらそれぞれは異なる方法で透明で、それぞれが正しくトラフィックを帰属させるのにわずかに異なるアプローチを必要とします。
ヘルパープロセスを見つけて親の下に折りたたむ
これが最も一般的な混乱の元。アクティビティモニタ → ネットワークを開くと次のようなものが見えます:
Google Chrome Helper (Renderer) 45.2 MB送信
Google Chrome Helper (GPU) 0.8 MB送信
Google Chrome Helper (Plugin) 2.1 MB送信
Google Chrome Helper 18.4 MB送信
Google Chrome Helper 22.7 MB送信
Google Chrome Helper 9.0 MB送信
Google Chrome 0.3 MB送信7行、個別に怖くなく、合計約100MB。Slack、Discord、Telegram、Teams、VS Code、Notion、ほとんどのElectronベースアプリは同じパターンに従います。
ヘルパートラフィックを正しく帰属させるには、行を手で足すか、それをするツールを使う必要があります。
ovaはこの折りたたみを自動でします。他のいくつかのツールも。要点は: ヘルパーを折りたたまないアプリ別ビューは、大きなElectronアプリが実際どれだけ使うかを過小評価します。
最も一般的なシステムデーモンを解読
これらはバックグラウンド作業を含む任意のプロセスリストで見るもの。短いフィールドガイド:
cloudd
Appleのクラウドデーモン。iCloud Drive、iCloud写真アップロード、iCloudを同期バックエンドとして使う任意のアプリのCloudKitトラフィックを扱う。ここでの大きなスパイクは通常写真がオリジナルを送るかサードパーティアプリ(メモアプリ、ブックマーク同期)が調整中。
nsurlsessiond
他のアプリの代わりにバックグラウンドURLセッションを動かすシステムサービス——特にMacが電源とWi-Fi上のとき。App Storeアップデート、バックグラウンドダウンロード中のポッドキャスト、iCloudアップロードがここに表示されうる。元のアプリはしばしば1層下に隠れている。
mediaanalysisd
ローカルメディア分析(写真の顔/物体認識、シーン分析)。主にCPUとディスクですが、結果が他デバイスに同期する必要があるときclouddをトリガーする。mediaanalysisdが忙しくclouddがアップロードしているなら、それら2つは通常一緒に働いています。
softwareupdated
システムアップデートダウンローダー。これが忙しいなら、macOSはアップデートを引いている——4〜15GBになりうる。
mDNSResponder
Bonjour / マルチキャストDNS。WAN側ではゼロ近くであるべき。LAN上の重いmDNSResponderトラフィックは通常誤構成のアプリが積極的にブロードキャストしすぎていることを意味しますが、インターネットプランを食らうべきではない。
apsd
Apple Push Notificationデーモン。プッシュ通知のためAppleのサーバへの持続接続を維持。常時オン、非常に低通信量、基本的に無料。
bird
iCloud Driveのファイルプロバイダデーモン。大きなスパイクはiCloud Driveがデータを動かしていることを意味。
assetsd
写真ライブラリアセット管理。しばしばclouddとphotoanalysisdと連鎖。
忘れていたバックグラウンド専用アプリ
異なるクラスの隠れたプロセス: 意図的にDockから隠れる完全なアプリケーション。一般的なもの:
- バックアップクライアント — Backblaze、Arq、Carbonite、iDrive
- アンチウイルスとEDR — Sophos、CrowdStrike、SentinelOne、Malwarebytes
- クラウドストレージ — Dropbox、Google Drive、OneDrive、Box、Sync.com
- ハードウェアユーティリティ — Logitech G Hub、Razer Synapse、OWCソフトウェア、モニターキャリブレーションツール
- 生産性ユーティリティ — Bartender、Hazel、Alfred(低トラフィックだが存在)
- 開発者ツール — Docker Desktop、Colima、JetBrains Toolbox、Tailscale、ngrok
最初の4カテゴリが本物の通信量を動かすもの。バックアップとアンチウイルスは特に、初期同期または大きなドライブをスキャンしているなら1日数十ギガバイトを動かしうる。
列挙する方法
確認する3か所:
- システム設定 → 一般 → ログイン項目と機能拡張。 自動起動するすべてをリスト。一部はUIなしでバックグラウンドで動く。
- アクティビティモニタ → すべてのプロセス(表示メニュー)。 これはユーザ向けアプリだけではなくフルリストを表示。
- ターミナル:
launchctl list | grep -v com.apple— サードパーティのlaunchdジョブを表示。
これらのリストで認識しないものは5分の調査の価値あり。
隠れたプロセスにトラフィックを固定
通信量のアプリ別またはプロセス別ビューを持ったら、帰属のためのワークフロー:
- スパイクを発見。 ライブ(メニューバーが今30 Mbpsを表示)または過去(昨日午後2時、何かが5GB使った)。
- スパイク中のトッププロセスを見つける。 履歴付きモニターはこれを些細にする。なしでは起こる瞬間に見ている必要。
- プロセス名を調べる。 ヘルパーなら親を見つける。デーモンなら上のテーブルを使う。
- 終了または一時停止で確認。 容疑者を一時停止してトラフィックが止まるなら、答えがあります。
ovaを動かしてみる
一目で分かるメニューバー通信量モニター——ローカル、署名済み、約3MB。
犯人がシステムデーモンのとき何をするか
これがより難しいケース。clouddやnsurlsessiondを終了できません——再起動するだけで、無効化するとmacOSの一部が壊れます。正しい動きは元のアプリを見つけてそれを一時停止すること。
実例: clouddが4K動画でいっぱいの電話をインポートした後1時間200 Mbpsアップロード中。原因はiCloud写真がオリジナルを押している。修正は次のいずれか:
- iCloud写真同期を一時停止(写真を開き、下までスクロール、一時停止をクリック)
- 一時的に現在のネットワークで低データモードに切り替え
- 待ち抜く——新しいオリジナルがiCloudに入ったらアップロード終了
nsurlsessiondの場合、ステップは類似: どのアプリがバックグラウンドセッションをスケジュールしたか把握。一般的な発信元はApp Store / Mac App Store、ミュージック(購入した音楽をダウンロード)、ポッドキャスト、バックグラウンド構成でURLSessionを使うサードパーティアプリ。
ベースラインの構築
隠れた通信量ホッグは「正常」がどう見えるか分かるとき最も発見しやすい。新規起動後、アイドル時:
- 合計スループットは細流であるべき——メガビットではなくキロビット秒あたり
apsd、mDNSResponder、いくつかの小さなシステムプロセスが優しく刻む- アイドルで1Mbpsを超える持続的な何かは調査の価値あり
通常使用中数日ovaのようなアプリ別モニターを動かすと、Macの安静時心拍数を素早く認識します。そのパターン外の何でもmacOSの通信量ホッグショートリストの候補。
実用的な隠れたホッグ監査
これを1度通すと、ほとんどの人が開発するより鋭いMacのビューを持ちます:
- 再起動。2分待つ。
- ova(またはアプリ別モニター)を開く。アイドルベースラインを記録——どのプロセスが非ゼロのトラフィックを持つか?
- システム設定 → 一般 → ログイン項目と機能拡張を開く。動いていたものと相互参照。
- アクティビティモニタ → 表示 → すべてのプロセス → ネットワークタブ。送信したバイトでソート。認識しないものを特定して調べる。
- 各馴染みのないデーモンについて、決める: 既知良(apsd、mDNSResponder、iCloudを使うならcloudd)または調査の価値。
- 各バックグラウンド専用アプリについて: まだ欲しいか決める。欲しくないものをアンインストール。
ほとんどのユーザはこの監査で1〜2の意外を見つける——忘れていたバックアップクライアント、返した周辺機器のハードウェアユーティリティ、何ヶ月も前にオフにするつもりだったクラウド同期。
次に何をするか
アプリ別通信量モニターをまったく動かしていないなら、それが最大の見返りのある変更。なしでは隠れたホッグは隠れたまま——アクティビティモニタのネットワークタブは住むには面倒すぎる。
具体的な次のステップ:
- ovaまたは別のアプリ別通信量モニターをインストール。
- 上の監査を実行。
- このページをブックマークするかデーモンテーブルをスクリーンショット——毎回
nsurlsessiondを再ルックアップするのは面倒。 - 月次で再確認。物事は変わる; 新しいログイン項目が追加される。
macOSの隠れたプロセスは既定で悪意ではない。あなた(または何らかのアプリ)が頼んだ仕事をしている。macOSの通信量ホッグが露出することを見つけるスキルは、それらを見、名指し、その仕事がまだ起きてほしいか決められること。