为什么 Chromium 在一个进程中运行所有选项卡?

Tha*_*tos 9 linux google-chrome gentoo tabs chromium

通常,Chromium 会将n 个选项卡组合到一个操作系统进程中,其中n通常是一个很小的数字。

但是,对于我的一个 Chromium 配置文件,我当前打开的所有选项卡似乎都在同一进程中。确切地说,此配置文件中当前打开了 43 个选项卡,跨越两个窗口。Chromium 任务管理器将所有 43 个选项卡列为在一个进程中。(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
Run Code Online (Sandbox Code Playgroud)

我知道有一些命令行标志可以改变 Chromium 将选项卡分组到进程中的方式,但是,我没有传递任何这些标志。(我不知道它们在今天之前存在,同时谷歌搜索这个问题的答案。)

我还有另外两个配置文件——受影响的配置文件是一个“工作排序”配置文件,我还有“正常”和“真正喜欢 cookie 的网站”——另外两个配置文件(“正常”和“cookies”) ") 正常运行。


我尝试过的两件事:

  • 重新启动铬。Chromium 将所有选项卡恢复到一个进程中。
  • 关闭和重新打开标签。典型地,一个可以打Ctrl+ WCtrl+ Shift+T强迫浏览器重新定位标签以一个不同的过程。(尽管有时它确实会选择您要终止的进程,但并非总是如此。这对于终止因某种原因泄漏内存的 Chromium 进程很有用。)在这种情况下,Chromium 似乎总是选择 43-tab mega - 重新打开标签的过程。

我在 Gentoo 上运行 Chromium v​​29.0.1547.57。

小智 2

Google Chromium 开发人员文档指定 Chrome 或 Chromium 可以通过三种不同的方式启动进程。

许多人可能不知道这一点,但 Chrome/Chromium 开发人员会对用户进行拆分测试(称为“现场试验”),将为您和您的用户组选择不同的选项。

您可能正在进行现场试验,以检查不同类型的流程模型之间的性能影响 ( http://www.chromium.org/developers/design-documents/process-models )