google-chrome - chrome 真的为每个标签创建了一个进程吗?

标签 google-chrome operating-system taskmanager

  • 操作系统概念第 9 版,第 123 页,“MULTIPROCESS
    架构—Chrome 浏览器”
  • 在这部分,作者说每个tab代表一个单独的
    过程,但是当我查看任务管理器(Windows)时,只有一个
    在“谷歌浏览器”下进行处理,例如现在是 Stack Overflow,
    我还在打开其他选项卡,为什么我在任务管理器中找不到它?
  • 还有一些其他的“过程”,但我认为它“无事可做”
    使用这些选项卡,因为当只有一个选项卡时,它们仍然
    这里。那么如何理解书中的内容呢?
  • 最佳答案

    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.



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

    苹果系统:
    mac os chrome

    视窗:
    windows chrome

    如您所见,每个任务都有自己的 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.

    关于google-chrome - chrome 真的为每个标签创建了一个进程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39853065/

    相关文章:

    c - 如何安排两个任务?

    process - 系统调用开销

    c++ - 如何使用系统调用 write() 输出到文件(写入文件)?

    Java:如何扫描最高数字的ide输出?

    asp.net - Chrome ERR_HTTP2_PROTOCOL_ERROR + Firefox 安全连接失败

    javascript - Chrome 表示无法读取未定义的属性 'nodeName',IE6 没问题,使用 Google Map API

    google-chrome - 如何在 Chrome 的弹出窗口上切换设备模式?

    html - 如何阻止文本区域在两个不同版本的 chrome 上看起来不同?

    node.js - 安装 Gulp 时出错

    android - 在长按主页按钮菜单中隐藏安卓应用程序