web-dev-qa-db-ja.com

Chromiumがすべてのタブを単一のプロセスで実行しているのはなぜですか?

通常、Chromiumはnタブを1つのOSプロセスにグループ化します。ここで、nは通常少数です。

ただし、Chromiumプロファイルの1つでは、現在開いているすべてのタブが同じプロセスにあるように見えます。正確には、このプロファイルでは2つのウィンドウにまたがって43個のタブが現在開いています。 43個のタブはすべて、Chromiumタスクマネージャーによって1つのプロセスにあるものとしてリストされます。 (PID = 14530)

そのプロセスをpsすると、次のようになります。

/usr/lib64/chromium-browser/chrome --type=renderer --lang=en-US --force-fieldtrials=ForceCompositingMode/disable/InfiniteCache/No/Prefetch/ContentPrefetchPrefetchOn/Prerender/Prerender15minTTL/PrerenderLocalPredictor/Enabled/UMA-New-Install-Uniformity-Trial/Experiment/UMA-Session-Randomized-Uniformity-Trial-5-Percent/default/UMA-Uniformity-Trial-1-Percent/group_36/UMA-Uniformity-Trial-10-Percent/group_04/UMA-Uniformity-Trial-20-Percent/group_02/UMA-Uniformity-Trial-5-Percent/group_18/UMA-Uniformity-Trial-50-Percent/group_01/ --disable-gl-multisampling --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=12624.99.622289786

Chromiumがタブをプロセスにグループ化する方法を変更するコマンドラインフラグがいくつかあることを理解していますが、それらのいずれも渡していません。 (この質問への答えをグーグルで検索している間、今日までそれらが存在することを知りませんでした。)

他に2つのプロファイルがあります—影響を受けるプロファイルは「仕事の種類」のプロファイルです。また、「通常」と「本当に愛するサイト」もあります—他の2つのプロファイル(「通常」と「Cookie」) ")は正常に動作しています。


私が試した2つのこと:

  • Chromiumを再起動します。 Chromiumは、すべてのタブを1つのプロセスに復元しました。
  • タブを閉じて再度開く。通常、 Ctrl+W、 Ctrl+Shift+T to coerce Chromeタブを別のプロセスに再配置します(ただし、強制的に強制終了する場合もありますが、常にではありません。これは、Chromiumプロセスを強制終了するのに役立ちます。何らかの理由でメモリリークが発生しています。)この場合、Chromiumは常に43タブのメガプロセスを選択してタブを再度開きます。

GentooでChromiumv29.0.1547.57を実行しています。

9
Thanatos

Google Chromium開発者向けドキュメント は、ChromeまたはChromiumがプロセスを起動できる3つの異なる方法があることを指定しています。

多くの人はこれを知らないかもしれませんが、Chrome/Chromium開発者はユーザーに対して分割テストを行い(「 フィールドトライアル 」と呼ばれます)、ユーザーとユーザーグループに対してさまざまなオプションが選択されます。

さまざまなタイプのプロセスモデル間でパフォーマンスへの影響を確認するために、フィールドトライアルを行っている可能性があります( http://www.chromium.org/developers/design-documents/process-models

2
Tim Groeneveld