chrome是否真的为每个标签创建了流程?

Ala*_*ins 2 operating-system google-chrome taskmanager

  • 操作系统概念,第9版,第123页,“多进程体系结构-铬浏览器”
  • 在这一部分,作者说每个选项卡代表一个单独的过程,但是当我查看任务管理器(windows)时,“ Google Chrome”下只有一个过程,例如,现在是Stack Overflow,我仍在打开其他标签,为什么不能在任务管理器中找到它?
  • 还有其他一些“过程”,但是我认为与这些选项卡没有任何关系,因为当只有一个选项卡时,它们仍在此处。那么如何理解书中所说的呢?

And*_*mov 7

Chromium支持四种不同的模型,这些模型会影响浏览器将页面分配到渲染器进程的方式。默认情况下,Chromium(Chrome)对用户访问的网站的每个实例使用单独的OS进程。但是,在启动Chromium时,用户可以指定命令行开关以选择其他体系结构之一:一个用于网站所有实例的进程,一个用于每个连接的选项卡组的进程或一个进程中的所有进程。

就我而言,我有以下情况:

苹果系统: Mac OS Chrome

视窗: Windows Chrome

如您所见,每个任务都有自己的PID(进程ID)


细节:

您也可以参考Chrome在每个网站上使用1个进程,而不是每个标签Chrome标签和流程问题。

这是有关Chrome / Chromium的过程模型的官方文档

现场处理:

Chromium还支持一种流程模型,该流程模型将不同的站点彼此隔离,但是将同一站点的所有实例组合到同一流程中。要使用此模型,用户--process-per-site在启动Chromium 时应指定一个命令行开关。这将创建更少的渲染器进程,以牺牲一些健壮性来降低内存开销。此模型基于内容的来源,而不是选项卡之间的关系。

每标签处理:

每个站点实例进程和每个站点进程模型在创建渲染器进程时均考虑内容的来源。Chromium还支持一种更简单的模型,该模型将一个渲染器进程专用于每组脚本连接的选项卡。可以使用--process-per-tab命令行开关选择此模型。