なぜChromeは自分のタブをプロセスにグループ化し、どうやってそれを止めることができますか?


8

Chromeでは、少なくとも私にとっては、すべてのタブが1つのレンダラープロセスにグループ化されています。 Chromeが150kのRAMをソートするのを本当に遅くするのでこれは問題です。
すべてのタブを別々のプロセスにするように強制する方法はありますか?

回答:


4

による Chromeのドキュメント 、あります --process-per-tab あなたが望むことをするコマンドラインスイッチ。


私は以前、そして奇妙なことに、実際にはすべてのタブが1つのプロセスに入るようにしました。タブが「スクリプト接続」になるのは、おそらく何らかの拡張です。
digitxp

@digitxp:すべての拡張機能を無効にするか、シークレットモードでChromeを起動しようとしましたか。
whitequark

3

私にとって、彼らはまだ問題を解決していません。

問題をさらに詳しく論じるいくつかのリンクはここにあります:

http://code.google.com/p/chromium/issues/detail?id=81877

http://www.google.com/support/forum/p/Chrome/thread?tid=2c6c5ffd1dcd19c5&hl=ja

http://code.google.com/p/chromium/issues/detail?id=36617

タブごとに新しいプロセスを強制する実行可能なswitchステートメントがあります(CLI以外のユーザーの場合はコントロールパネルのオプションにする必要があります)。それ自体。

これは、クロムブラウザおよびすべてのクロム関連プロセスモデルの設計とアーキテクチャをサポートする、クロムに関するディスカッションおよび設計文書へのリンクです。私は、AndroidとChrome OSが同じタイプの設計仕様に該当すると思います。

http://dev.chromium.org/developers/design-documents/process-models

スイッチの名前は「タブごとに1つのプロセス」と言われるので少し紛らわしいですが、実際には似たようなスクリプトを持つタブのグループごとに1つのプロセスであり、洗練されて1つの巨大なプロセスにまとめられています。鉱山も500から800メガバイトの上方になる。単一プロセスのためのメモリのほぼ1ギグ。それは私のコンピュータを停止させるのを遅くします。もっと、そう、おそらくそのメモリのすべてがページアウトされているためですが、いずれかの方法で、各タブが別々のプロセスである場合、少なくともメモリとページング操作は全体で異なるでしょう。ページングを含む)。

Chromiumは、スクリプト接続されたタブの各グループに1つのレンダラープロセスを割り当てる、より単純なモデルもサポートしています。

1プロセス/タブモデルに関するオープンソースの "chromium"プロジェクトの言葉:

「Chromiumは、スクリプト接続されたタブの各グループに1つのレンダラープロセスを割り当てる、より単純なモデルもサポートしています。」

Chromiumが作成するレンダラープロセスの数にはグローバルな制限があります。これにより、ブラウザがあまりにも多くのプロセスを使用してユーザーのコンピュータに負担をかけることを防ぎます。現在の制限は、ほとんどのマシンで20個のレンダラプロセスですが、インストールされているメモリの量が少ないマシンではそれ以下です。その結果、単一のレンダラープロセスを複数のサイトに割り当てることができます。この再利用は現在無作為に行われていますが、Chromiumの将来のバージョンでは、よりインテリジェントにサイトをレンダラープロセスに割り当てるためにヒューリスティックを適用する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.