前回の記事では、Chrome が重くなった時の原因の特定方法と、不要なプロセスの見極め方、そして、プロセスの終了方法をご紹介しました。
今回は、前回から少し突っ込んで、Chrome の マルチプロセスアーキテクチャ の仕組みを利用して、メモリの解放を行い、Chrome を軽くする方法をご紹介したいと思います。
前回の記事を見ていない方は、こちらからどうぞ。
Google Chrome が重くなった原因の特定方法: BFuture
スポンサードリンク
Chrome のメモリ消費が多い理由
Chrome が他のブラウザと比べてメモリ消費が多い原因は、Chrome が マルチプロセスアーキテクチャ という仕組みのためです。
マルチプロセスアーキテクチャ とは、ブラウザに関する各処理を用途別に分けることです。
Chrome 本体の「ブラウザプロセス」、各タブのページ表示をする「レンダリングエンジンプロセス」、プラグインと通信する「プラグインプロセス」など、各役割でプロセスが分けられています。
なぜこんな風に、プロセスを分ける必要があるのでしょう?
それは、1つの不具合のために、ブラウザ全ての機能がストップしてしまうのを避けるためです。
例えば、あるページを開いた時に、「応答なし」になったとします。
Chrome 以外のブラウザであれば、ブラウザ自体が応答しなくなり、ブラウザ自体を強制的に終了させ、再起動する必要があります。
もちろん、それまでに開いていた多数のページは全て開きなおしになります。
Chrome の場合は、「応答なし」のページのプロセスだけ終了させれば、 他のページに影響することはありません。
これが Chrome が マルチプロセスアーキテクチャ を採用した理由です。
もっと細かく言えば、セキュリティレベルが上がったり、メモリの解放を行いやすいなど、他の利点も多くあります。
さて、メリットがあればデメリットもあるのが世の常です。
Chrome は上記メリットを獲得した代償として、メモリ使用量の増加というデメリットが発生しました。
難しい話は置いときますが、Chrome 以外のブラウザのような、スレッドの増加よりも、プロセスの増加の方がメモリ消費量が多くなります。
これが Chrome のメモリ消費量が多い原因です。
Chrome の消費メモリを節約する方法
では、Chrome が マルチプロセスアーキテクチャ という事を踏まえ、どうすればメモリを節約できると思いますか?
答えは簡単です。
マルチプロセスアーキテクチャ を止めてしまえばいいのです。
要するに、プロセスを1つに制限してやるわけです。
そのやり方は、Chrome の起動オプションに「--renderer-process-limit=1」を追加するだけです。
具体的なやり方は、Chrome のショートカットを、右クリックして、「プロパティ」を選択して下さい。
設定方法は以下の通りです。
これを設定すると、Chrome は マルチプロセスアーキテクチャ の動きを止めてしまいますので、上述したメリットも失われてしまいますが、パソコンに積んでいるメモリ量に不安がある方には、かなりの効果があると思います。
こちらのページで実験されていますが、50%もメモリが節約できたそうです。
ottan.xyz
ご紹介した設定では、プロセス数を「1」に制限していますが、これを例えば「3」とかにすると、マルチプロセスの上にメモリ消費量も抑えられますが、中途半端な設定ですので、微妙です。
不具合が起こったページと、大事なページのプロセスが分かれていればいいですけど、3プロセスだと分かれている可能性は少ないでしょう。
また、メモリ消費量も「1」に設定した場合より、3倍とは言いませんが、結構大きくなるので、設定するのであれば「1」がいいと思います。
Chrome のメモリ関連のお話は以上となります。
だいぶ Chrome の事に精通してきましたね。
それでわ。
スポンサードリンク
タグ: Chrome