0
Chrome 55は必要に応じてメモリ使用量を最大半分に削減

Googleは、12月6日にリリース予定のChrome 55で、ChromeプロセスのRAM使用量が大幅に改善されると発表しました。同社によると、テストしたウェブサイトのメモリ使用量は平均で半分に減少しました。

Chromeのメモリ肥大化問題

Google Chromeは、他のブラウザと比較してメモリ使用量が多すぎると長年批判されてきました。これは、ユーザーのデバイスで利用可能なリソースが減少するだけでなく、バ​​ッテリー寿命も短くなる可能性があります。

一見すると、メモリ使用量が大幅に増加したのは、各タブと拡張機能を独自のオペレーティング システム プロセスに分離する Google のサンドボックス アーキテクチャが原因であると思われます。

このサンドボックス化メカニズムは、Firefoxの新しいサンドボックス化アーキテクチャのように他のウェブサイトとリソースを共有するのではなく、ウェブサイトが独自の隔離されたリソースを使用するため、セキュリティを大幅に向上させます。ただし、これは冗長性も意味するため、複数のタブを開いたり、多くの拡張機能をインストールしたりすると、RAMが数ギガバイト消費される可能性があります。

V8ヒープサイズの削減

Googleによると、RAM使用量を増加させるのはサンドボックスシステムだけでなく、JavaScriptエンジンも原因となっているとのことです。そのため、Chromeチームはここ数ヶ月、ChromeのV8エンジンのメモリ消費量をさらに最適化するための取り組みを行ってきました。具体的には、JavaScriptエンジンのヒープサイズの削減に取り組みました。

しかし、ヒープサイズの削減には、ガベージコレクションのレイテンシというトレードオフが伴うようです。メモリ使用量が減少すると、ガベージコレクションの実行頻度が上昇し、ウェブサイト上でユーザーに見える「ジャンク」が発生する可能性があります。RAMが512MB未満のデバイスでは、クラッシュを引き起こす可能性もあります。

Googleのエンジニアは、「メモリ削減モード」を必要な場合にのみ有効にすることを選択しました。そのため、このモードは、利用可能なメモリがあまり多くない場合、他のアプリが多数開いている場合、またはChromeで開いているタブが多すぎる場合にのみ有効になります。この最適化により、Chromeチームは、Chrome 55を使用したいくつかのテスト済みウェブサイトで、現在のChrome 53と比較して平均50%のメモリ削減を確認しました。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

その他の改善点

GoogleのエンジニアがV8エンジンに加えたもう一つの大きな改良点は、解析済みのスクリプトが使用されなくなった後、メモリからより速く削除されるようになったことです。これにより、平均およびピーク時のメモリ使用量も削減されました。

以前、Googleは、パーサーによって生成された抽象構文木ノード内のフィールドをコンパイラがパックすることを許可していました。例えば、2つのブール値は2ビットしか必要とせず、1ワード内、または前のワードの未使用部分にパックする必要があります。しかし、コンパイラは常に最も圧縮されたパックを見つけるとは限らないため、Chromeチームは手動でビットをパックしています。これにより、メモリ使用量が削減され、パーサーとコンパイラのパフォーマンスが向上します。

Chrome チームは、パーサーのメモリ最適化をさらに計画し、512 MB から 1 GB の RAM を搭載したデバイスに重点を置いて、V8 エンジンのメモリ フットプリントの改善に取り組み続ける予定です。