Mac で Google Chrome Helper の高 CPU を直す
Google Chrome Helper プロセスが複数動いているのは正常です。Chrome はブラウザ、レンダラー、GPU、ネットワーク、拡張機能の作業を分離しているためです。名前だけでは、そのプロセスが安全か、Chrome が壊れているかを判断できません。インストール済みの Chrome アプリに属していることを確認したうえで、Chrome 自身のタスクマネージャでリソース使用をタブ、拡張機能、またはサブシステムに対応づけてください。
なぜ Chrome は十数個のプロセスで動くのか
Chrome はクラッシュを閉じ込め、侵害されたサイトがアクセスできるデータを減らすために、作業を複数のプロセスに分離します。Chromium の マルチプロセスアーキテクチャ は、ブラウザ、レンダラー、GPU、ネットワーク、ユーティリティの作業を分けます。Google Chrome Helper (Renderer) プロセスはサイトコンテンツ、拡張機能、またはフレームを実行しますが、タブとプロセスの対応は必ずしも 1 対 1 ではありません。1 つのタブが複数のレンダラーを使い、関連コンテンツが 1 つのプロセスを共有することもあります。Google Chrome Helper (GPU) はグラフィックス処理を担当します。CPU 使用率が高い場合、原因は忙しいページや拡張機能であることが多いですが、動画、画面共有、ダウンロード、ブラウザサービスが原因になることもあります。
Chrome 自身のタスクマネージャで犯人を特定する
Activity Monitor は Helper を番号で表示しますが、どのタブに対応するかはわかりません。Chrome にはそれを示す専用のタスクマネージャがあります。Chrome のメニュー(三点)を開き、More Tools > Task Manager を選びます。Google の タブ管理ガイド にも同じ手順が載っています。タブ、拡張機能、アプリが名前で一覧表示されるので、CPU で並べ替え、問題のタスクを選び、ブラウザ全体を終了せずに End Process をクリックできます。
よくある対処法
原因がわかれば、対処は直接的です。
- 重いタブ: 閉じるか、スクリプトが止まった場合は再読み込みします。ストリーミングサイト、大きな Web アプリ、数日開いたままのページがよくある原因です。
- 拡張機能:
chrome://extensionsで無効にします。拡張機能はバックグラウンドで常に動くため、使っていないときでも 1 つ悪いものがあると CPU を占有します。不要なものは削除してください。 - GPU Helper が急上昇している場合: グラフィックスアクセラレーションが原因に見えるなら、一時的な比較として Chrome の設定でハードウェアアクセラレーションをオフにしてみてください。オフのままにすると CPU に負荷が移り、動画や描画の性能が悪化することがあります。
- タブが多すぎる場合: Chrome の Memory Saver を使い、非アクティブなタブを閉じるか破棄します。バックグラウンドの挙動はまちまちなので、各タブが同じ量を消費すると決めつけず、タスクマネージャで判断してください。
Chrome を終了したあとも見慣れない Helper が残る場合は、強制終了や削除の前に、Activity Monitor で実行ファイルのパスとコード署名を確認してください。名前はコピーできますが、所有者とパスのほうが確かな根拠です。
内部の仕組み: サイト分離とプロセスタイプ
Chrome のマルチプロセスアーキテクチャには サイト分離 が含まれます。サイトをまたぐコンテンツを別々のレンダラープロセスに置き、侵害されたレンダラーが晒すデータを減らします。ブラウザプロセスが調整し、レンダラープロセスがサイトや拡張機能のコンテンツを実行し、GPU プロセスがラスタライズと合成を行い、ユーティリティプロセスが音声やネットワークなどの作業を担います。1 ページが複数のレンダラーにまたがることもあるため、Activity Monitor では 1 つの Helper 名を 1 つのタブに確実に対応づけられません。Chrome のタスクマネージャはその内部のタスクとプロセスの関係を持っているので、最初の診断として適しています。
システムモニタが役立つ場面
Activity Monitor や Mole の Status ビューのようなシステムモニタは、Chrome がリソースの持ち主であることを確認し、傾向を示すのに使えます。そのうえで Chrome のタスクマネージャが Web タスクの名前を示します。macOS がブラウザ内部のサイト対応を理解することを期待せず、両方の層を使ってください。
繰り返し使える診断手順
スパイクを再現し、プロセスが Chrome に属することを確認し、Chrome のタスクマネージャを CPU で並べ替え、タブ、拡張機能、またはグラフィックス設定を 1 つだけ変更します。同じ作業を繰り返して比較します。こうすれば Chrome のセキュリティアーキテクチャを保ちつつ、すべての Helper を使い捨てにするのではなく、実際のタスクを直せます。