\r\n\r\n
さまざまなブラウザについて調べたことがある人なら、Chromeがリソースを大量に消費することがあることをご存じでしょう。タスクマネージャーやアクティビティモニタを参照すると、リストの一番上にChromeが表示されることがよくあります。
しかし、なぜChromeは、他のブラウザと比較して、特に多くのRAMを使用するのでしょうか?それをコントロールするためにできることは?ここでは、ChromeのRAM使用量を少なくする方法を紹介します。
数年前までは、「はい」という答えしかありませんでした。グーグルクロームはメモリを大量に消費するという評判はよく知られていました。
しかし、googlechromeの変更により、特に他の一般的なブラウザと比較した場合、ブラウザのメモリ使用量が増加しています。Mozilla、Edge、Opera、SafariがChromeよりもRAMを多く消費することがあるのですが、どうしてでしょうか?Facebookページ、YouTubeビデオ、BBCスポーツのウェブサイト、Twitterをクリーンなブラウザで開き、短いテストを行いました。
その結果は、あなたの興味を引くことでしょう。
Google Chrome(googlechrome)は、他のブラウザの中で、高い位置にあります。もちろんこれは逸話であり、Chromeが他のブラウザよりもRAMを消費することを示す十分な証拠があります。ブラウザのRAM使用量テストを行ったことがある方は、Chromeが他のブラウザよりもRAMを多く消費していることをご存知でしょう。
googlechromeは間違いなく最速のブラウザの一つですが、そのタイトルを獲得するためには多くのメモリを必要とします。
"ああ、スナップ!Google Chromeがメモリ不足になったときにこのページを表示しようとしました。"
これは、Chromeがメモリ不足になったときに表示されるメッセージです。Chromeがなぜこれほどまでにメモリを消費するのかを理解するには、ほとんどのモダンブラウザがどのように動作しているかを理解する必要があります。
コンピュータ上のすべてのアプリケーションは、コンピュータのRAMでプロセスを実行し、RAMでコンピュータを実行することは困難な作業です。RAMは、非常に迅速にすべての種類のデータを格納する一時メモリです。CPUは、ハードディスクやSSDよりもはるかに速くシステムRAMのデータにアクセスすることができます。
Chrome、Firefox、Opera、MicrosoftEdgeは、各タブ、プラグイン、拡張機能をそれぞれ異なるRAMプロセスに保存しています。この処理はアイソレーションと呼ばれ、あるプロセスから別のプロセスへの書き込みを防止します。
そのため、タスクマネージャーやアクティビティモニタを開くと、Google Chromeに複数のエントリが表示されます。よく見ると、各プロセスはわずかなRAMしか使用していませんが、それらを合計すると非常に高い負荷がかかっていることがわかります。
Chromeなどのブラウザは、このようにRAMを管理することで、より優れた安定性と高速性を実現しています。少なくとも、多くの場合、他のブラウザよりも多くのRAMを使用しているようです。ここでは、ChromeのRAM処理方法について簡単に説明します。
各プロセスを別々に実行する主な理由は、安定性です。各プロセスを別々に実行することで、いずれかのプロセスがクラッシュしても、ブラウザ全体は安定した状態を保つことができます。プラグインや拡張機能が失敗し、タブの更新が必要になることがあります。各タブや拡張機能が同じプロセスで動作している場合、個々のタブではなく、ブラウザ全体の再起動が必要な場合があります。
デメリットは、シングルプロセスのブラウザがタブ間で共有できる処理の一部を、Chromeではタブごとに複製する必要があることです。また、複数のプロセスに分割することで、サンドボックスや仮想マシンのようなセキュリティ上のメリットも得られます。
例えば、あるタブでJavaScriptの攻撃が発生した場合、Chromeでは他のタブに移動する方法がなく、シングルプロセスのブラウザで発生しやすいと言われています。
ChromeのRAM使用量を増加させるのは、プラグインや拡張機能です。googlechromeに追加されたプラグインや拡張機能は、実行するためにリソースが必要です。拡張機能を多くインストールすると、Chrome の動作に必要な RAM が増えます。
プリレンダリングはその顕著な例です。プリレンダリングにより、Chromeは次に移動するページ(Googleの検索結果トップやニュースサイトの「次のページ」リンクなど)を予測したページの読み込みを開始することができます。プリレンダリング処理はリソースを消費するため、より多くのRAMを使用しますが、特に頻繁に訪問するサイトでは、ブラウジングのスピードアップにつながります。
一方、プリレンダリング中にエラーが発生した場合、予想以上にRAMを消費し、コンピューターの他の領域が遅くなったり、ブラウザーのタブが応答しなくなったりすることがあります。
Chromeは、低電力デバイスやハードウェアに制限のあるデバイスでRAMを使用するためのいくつかの答えを持っています。一般的に、Chromeが高性能なハードウェア上で動作する場合、先に説明したプロセスモデルを使って実行されます。
ただし、リソースの少ない端末でChromeを実行する場合、Chromeは1つのプロセスに統合され、全体のメモリ使用量を削減します。単一プロセスを使用することで、リソースを削減できますが、ブラウザが不安定になるリスクがあります。
また、Chromeは自分が使っているメモリの量を把握しています。chromeは、システムのハードウェアに応じて、起動できるプロセスの数を制限しています。これは内部的な制限ですが、この制限に達すると、Chromeはプロセス内で同じサイトの実行タブに切り替わります。
2020年末、Google Chromeの開発者は、「PartitionAlloc Fast Malloc」というRAM節約機能を導入すると発表しました。この機能の技術的な特徴を掘り下げなくても、PartitionAllocは、単一のプロセスがシステム全体のメモリの10%以上を消費することを防ぐはずです。
これは、マイクロソフトがChromiumベースのEdgeブラウザでRAM使用量の削減に成功したのに続き、同じくブラウザのメモリ使用量の削減を目的とした改良であるSegment Heapを採用したものです。
関連:これらの機能により、EdgeはChromeよりも効率的です。
Chromeはどのくらいのメモリを必要としますか? Chromeが問題になる前に使用できるメモリ量に制限はありますか? その答えは、お使いのシステムのハードウェアにあります。
ChromeがRAMを大量に使用するからといって、必ずしも問題が発生するわけではありません。システムが利用可能なRAMを使用していない場合は、何の意味もありません。コンピュータは、データに素早くアクセスし、処理を高速化するためにのみRAMを使用します。RAMをできるだけクリアにしておくと、コンピュータのパワーを生かしきれない。
smart**と同じように、実行中のプロセスやメモリをクリアにすると、長期的には動作が遅くなることがあります。そのため、RAMクリーナーやブースターがスマート**に悪い影響を与えるのです。
しかし、ChromeがRAMを使いすぎると問題になることがあります。Chrome がメモリを過剰に使用すると、他のプログラムが使用できる量が制限されます。Chrome は、ブラウザ内の重要な情報にすばやくアクセスできるように動作するようになり、RAM の使用が否定されることもあります。
結局のところ、ChromeのRAM使用量が問題になるのは、ブラウザであれシステム全体であれ、コンピュータの動作が遅くなる場合だけです。Chromeが多くのRAMを使用していても、パフォーマンスに悪影響がない場合は、心配する必要はありません。
例えば、私は時々50以上のChromeタブを開いていて、2.5GB以上のRAMを使用していることがあります。これは膨大な量に聞こえますが、私のシステムには16GBのRAMが使えるので、問題ないです。4GBのRAMを搭載したノートパソコンで同じことを試すと、非常に不幸なことになります。
Chromeのメモリ使用量が低下している場合、対策を講じる必要があります。
ブラウジングを高速化し、メモリ使用量を削減する方法はいくつかありますが、最も重要なツールはChromeタスクマネージャです。
Chrome タスクマネージャーは、Windows タスクマネージャーと同様に、ブラウザーの各タブや拡張機能のパフォーマンスと使用状況を表示します。Chromeのタスクマネージャーを使用して、最もメモリを使用しているものを見つけ、それらを閉じることで空き容量を確保することができます。
Windowsでは、Shift+Escキーを押すだけでタスクマネージャーにアクセスできますが、Macでは、ウィンドウメニューから開く必要があります。プロセスを選択し、[プロセスの終了]をクリックします。
サイズが膨らんだタブや拡張機能に注意する。Chromeのタブがバグや設定不良でメモリを大量に消費することがあります。Chromeのメモリリークが原因で、ブラウザがフリーズすることがあります(システム全体がフリーズすることもあります)。
リソースを大量に消費するプロセスを停止させた後、頻繁に起こるChromeのクラッシュを修正するために、他にもいくつかできることがあります。
電力を多く使う拡張機能を無効にしたり、特定のサイトが使われているときだけ有効になるように設定することができます。
拡張機能を右クリックし、「拡張機能の管理」を選択します。この拡張機能による訪問先ウェブサイトのすべてのデータの読み取りと変更を許可する」を「クリックする」または「特定のウェブサイトにおいて」に変更します。
SimpleExtManagerは、拡張機能トレイの横に小さなドロップダウンボックスを追加します。そして、すべての拡張機能をクリックで閉じることができます。
Chrome の RAM 使用量の問題に対処するためにさらに拡張機能をインストールすることは、特に今お読みいただいたような問題の後では、直感に反しているように聞こえます。
RAM 管理に特化した拡張機能もあり、使用しなくなったタブを Chrome がどのように処理し、破棄するかをカスタマイズすることができます。
例えば、素晴らしいサスペンダーを使えば、1つのタブを除くすべてのタブのプロセスをハングアップさせ、Chromeのメモリ消費を即座に削減することができます。素晴らしいSuspenderには、他にも多くのオプションがあり、すべてを再び有効にしたいときに便利な「すべてのタブをキャンセル」ボタンもあります。
もう1つのオプションはgreatdiscarderです。これは、Chromeがメモリを節約するためにタブを使用していないときに廃棄する、未使用のタブの廃棄頻度をカスタマイズすることができるものです。greatdiscarderでは、時間の長さを変更したり、捨てないタブを指定したり、様々なことができます。
Chromeは世界で圧倒的なシェアを誇るブラウザです。FirefoxやOperaなどの代替ブラウザは、Chromeと同程度のメモリを使用することがあるため、切り替えが必ずしも最善の選択とは限りません。
他にもいろいろな問題があります。例えば、YouTubeは古いライブラリを使用していたため、FirefoxやOperaではサービスの動作が5倍遅くなり、必要以上のリソースを消費していました。この問題は現在修正されていますが、ブラウザ市場のリーダーであり、主要なオンラインサービスの所有者が、市場全体のリソース使用にどのように影響するかを示す一例となります。
Chromeを使い続けたいのであれば、そうしてください。安全で高速なブラウザで、何千もの優れた拡張機能を備え、メモリの使用量を減らすことにも積極的に取り組んでいます。