chrome 真的为每个选项卡创建一个进程吗?
Does chrome really create a process for each tab?
- 操作系统概念第 9 版,第 123 页,“多进程
架构—CHROME 浏览器
- 在这部分,作者说每个选项卡代表一个单独的
进程,但是当我查看任务管理器(windows)时,只有一个
在 "Google Chrome" 下处理,例如,现在是 Stack Overflow,
我还在打开其他标签页,为什么我在任务管理器中找不到它?
- 还有其他一些 "process",但我认为是 "nothing"
使用这些选项卡,因为当只有一个选项卡时,它们仍然
这里。那么如何理解书中所说的呢?
Chromium supports four different models that affect how the browser allocates pages into renderer processes. By default, Chromium (Chrome) uses a separate OS process for each instance of a web site the user visits. However, users can specify command-line switches when starting Chromium to select one of the other architectures: one process for all instances of a web site, one process for each group of connected tabs, or everything in a single process.
就我而言,我有以下情况:
苹果操作系统:
Windows:
如你所见,每个任务都有自己的PID(进程ID)
详情:
也可以参考Chrome is using 1 process per website instead of per tab, Chrome tabs and processes个问题
这里 official documentation 关于 Chrome / Chromium 的进程模型。
每个站点的进程数:
Chromium also supports a process model that isolates different sites from each other, but groups all instances of the same site into the same process. To use this model, users should specify a --process-per-site
command-line switch when starting Chromium. This creates fewer renderer processes, trading some robustness for lower memory overhead. This model is based on the origin of the content and not the relationships between tabs.
每个标签处理:
The process-per-site-instance and process-per-site models both consider the origin of the content when creating renderer processes. Chromium also supports a simpler model which dedicates one renderer process to each group of script-connected tabs. This model can be selected using the --process-per-tab command-line switch.
是的,它显示当前打开的选项卡 MainTitle。
简单的控制台程序要知道
Process[] localByName = Process.GetProcessesByName("Chrome");
foreach (Process p in localByName)
{
Console.WriteLine(string.Format("Process: {0}\n Title:{1} \n P\n", p.ProcessName, p.MainWindowTitle));
}
- 操作系统概念第 9 版,第 123 页,“多进程 架构—CHROME 浏览器
- 在这部分,作者说每个选项卡代表一个单独的 进程,但是当我查看任务管理器(windows)时,只有一个 在 "Google Chrome" 下处理,例如,现在是 Stack Overflow, 我还在打开其他标签页,为什么我在任务管理器中找不到它?
- 还有其他一些 "process",但我认为是 "nothing" 使用这些选项卡,因为当只有一个选项卡时,它们仍然 这里。那么如何理解书中所说的呢?
Chromium supports four different models that affect how the browser allocates pages into renderer processes. By default, Chromium (Chrome) uses a separate OS process for each instance of a web site the user visits. However, users can specify command-line switches when starting Chromium to select one of the other architectures: one process for all instances of a web site, one process for each group of connected tabs, or everything in a single process.
就我而言,我有以下情况:
苹果操作系统:
Windows:
如你所见,每个任务都有自己的PID(进程ID)
详情:
也可以参考Chrome is using 1 process per website instead of per tab, Chrome tabs and processes个问题
这里 official documentation 关于 Chrome / Chromium 的进程模型。
每个站点的进程数:
Chromium also supports a process model that isolates different sites from each other, but groups all instances of the same site into the same process. To use this model, users should specify a
--process-per-site
command-line switch when starting Chromium. This creates fewer renderer processes, trading some robustness for lower memory overhead. This model is based on the origin of the content and not the relationships between tabs.
每个标签处理:
The process-per-site-instance and process-per-site models both consider the origin of the content when creating renderer processes. Chromium also supports a simpler model which dedicates one renderer process to each group of script-connected tabs. This model can be selected using the --process-per-tab command-line switch.
是的,它显示当前打开的选项卡 MainTitle。 简单的控制台程序要知道
Process[] localByName = Process.GetProcessesByName("Chrome");
foreach (Process p in localByName)
{
Console.WriteLine(string.Format("Process: {0}\n Title:{1} \n P\n", p.ProcessName, p.MainWindowTitle));
}