Google Chromeのメモリ使用量が多い?メモリリークの原因と対処法を徹底解説
Google Chromeは軽快な動作とシンプルなインターフェースで、世界中で愛用されているブラウザです。筆者もその圧倒的なスピード感が気に入っており、アドオンが多く動作の重いFirefoxや、どうしても遅くなりがちなInternet ExplorerよりもChromeを選んできました。
Microsoft EdgeはIEよりかなり高速になりましたが、GmailやGoogleドライブなどGoogleサービスを多用する身としては、やはりChromeが一番しっくりきます。ちなみに、新エンジン「Quantum」を搭載したFirefoxはChromeより速いとも言われており、乗り換えを本気で検討したこともあります。
しかし、高性能PCでChromeをヘビーに使い始めて数か月ほど経った頃、タブを開いてもページが表示されるまで数秒間白い画面のままになったり、全体的に動作がもっさりしたりする現象に悩まされるようになりました。
Chromeタスクマネージャでプロセスを確認
原因を探るため、まずはChromeのタスクマネージャを開いて、どんなプロセスが動いているのか確認してみることにしました。タイトルバー(タブ以外の部分)を右クリックして「タスク マネージャ」を選択するか、ショートカットキーの「Shift + Esc」で開けます。
表示された内容を見て驚きました。なんと35個ものGoogle Chromeプロセスが起動しており、メモリ使用量は5GB超。スクリーンショット撮影時には16個のタブを開いていましたが、動画もアニメーションもない静的なページばかりでした。それでもなぜ、これほど多くのプロセスとメモリが必要になるのでしょうか。
なぜChromeはプロセスを分割するのか
タスクマネージャを見ると、ブラウザ本体、各タブ、ウェブアプリ、GPU、そして有効化しているすべての拡張機能・プラグインごとに、個別のプロセス(タスク)が割り当てられていることが分かります。
Googleによると、この「プロセス分離」はブラウザを安定させるための設計だそうです。例えば、あるプラグインがクラッシュしても、他のタブやブラウザ全体まで巻き込まれることはありません。
実際、長年Chromeを使ってきた経験からもこれは実感できます。あるタブが応答しなくなっても、そのタブだけを閉じれば他のタブは普通に使えますし、Shockwaveなどのプラグインがフリーズしても、該当タブだけを強制終了すれば済みます。
では、プロセスを細分化することで余計にメモリを消費しているのでしょうか。調べた限りでは、プロセス数を減らしてもプラグインや拡張機能が消費するメモリ自体はほぼ変わらず、わずかに少なくなる程度とのことです。新しいプロセスを生成するオーバーヘッドは確かに存在しますが、ごく僅かなものです。
「subframe」と表示されるプロセスとは
タスクマネージャには「subframe: https://accounts.google.com」のように表示される項目もあります。最初はGmailのタブを開いているせいかと思いましたが、実際はまったく別の仕組みによるものです。Googleは一部の処理を独立したプロセスとして分離し、適切に隔離しています。そのため、いくつかのウェブサイトは個別のタブプロセスとして表示されず、これらのサブフレーム内で動作しているのです。
Chromeのメモリ使用量を減らす3つの方法
1. Flashを完全に無効化する
筆者が試した中で最も効果が大きかったのが、Flashを全サイトで無効化する方法です。「先に確認する(Ask me first)」設定のままにしていたところ、実は複数のサイトがFlashを使用していました。Flashをブロックしたところ、メモリ使用量が1GB以上削減されました。しかも、Flashを無効化しても各サイトは問題なく動作したため、そのまま無効のままにしています。
設定手順は「設定」→下部の「詳細設定」→「プライバシーとセキュリティ」内の「コンテンツの設定」→「Flash」→「サイトにFlashの実行を許可しない」を選択します。なお、Adobe Flash Playerは2020年末にサポートを終了しており、現在のChromeではFlash自体が廃止されています。古い環境を使っている場合を除き、この項目は表示されませんが、同じ考え方は他のコンテンツ設定にも応用できます。
2. 拡張機能を整理する
もう一つの有効な手段が拡張機能の見直しです。使っていない拡張機能は思い切って削除しましょう。たまにしか使わないものであれば、完全に削除せず「無効化」するだけでもOKです。無効化すれば、その拡張機能はメモリを消費しなくなります。
筆者の場合、お気に入りの拡張機能が2013年から更新されておらず、これが大量のメモリを食べている原因でした。リソースを大量に消費する拡張機能は、必要なければ無効化するだけでブラウジング体験が大きく改善します。
3. ハードウェアアクセラレーションを見直す
タスクマネージャには「GPUプロセス」という項目もあるはずです。これはデフォルトで有効になっている「ハードウェア アクセラレーション」機能で、ハードウェアが対応していれば、CPUの代わりにGPUで処理を担うことで、より高速かつ効率的に動作します。
この機能を無効化したい場合は、「設定」を開き、一番下までスクロールして「システム」から切り替えられます。ただし、無効化するとChromeの動作がやや遅くなる点には注意してください。
まとめ
ChromeのRAM使用量が気になる場合は、まずタスクマネージャを開いて、どのプロセスがメモリを大量に消費しているかを確認しましょう。過剰にメモリを使っている拡張機能を無効化し、不要なプラグインをオフにするだけで、体感速度はかなり変わります。快適なブラウジングライフを楽しんでください!
-
Firefox 3.1 Beta 3のメモリ使用量を徹底検証 ― LinuxとWindowsでの実測レポート
先日、Firefox 3.1 Beta 3をレビューしました。JavaScriptパフォーマンスの大幅な向上、使い勝手とプライバシーに関する新機能、将来のHTMLマルチメディア要素への対応など、非常に魅力的なリリースです。ところが、あの記事ではメモリ使用量については一切触れていませんでした。 それには、ちゃんとした理由があります。 アプリケーションのメモリ使用量を正確に測定するのは、実は非常に難しい作業です。せいぜい得られるのは「推測」や「目安」程度で、しかも主観的かつ限られた要因に基づくもので、ほとんど役に立たないことも珍しくありません。多くの人は、タスクマネージャー、Process Exp
-
Windows 10でGoogle Chromeのメモリ使用量が高いときの対処法|RAM消費を減らす9つの方法
Google Chromeは、シンプルでクリーンな操作性により快適で安全なブラウジング体験を提供することで人気を集める、世界で最も利用されているWebブラウザの一つです。しかし、Chromeに対する最大の不満として挙げられるのが「システムメモリ(RAM)を大量に消費する」という点です。メモリを大量に消費すると、Chrome本体だけでなくWindows 10パソコン全体の動作が遅くなり、ユーザー体験全体に悪影響を及ぼします。この記事では、Chromeのメモリ使用量を削減し、Windows 10でのRAM消費を抑えるための実用的な対処法を紹介します。 Chromeが大量のメモリを使用する理由は?