【问题标题】:Chrome tabs and processesChrome 标签和进程
【发布时间】:2010-09-07 18:05:08
【问题描述】:

我正在阅读 chrome 上的 googlebooks,他们在其中谈论为什么他们决定启动一个进程来托管浏览器标签,每次您创建一个新标签时。 所以

2 个标签 = 2 个 chrome 进程

3 个选项卡 = 3 个 chrome 进程等等......对吗??

但我打开了大约 20 个标签,但在任务管理器中,我只能找到 3 个 chrome 进程..

发生了什么事??

我被告知,就所需资源而言,创建流程是一项昂贵的提议,并且还有其他可用的轻量级选项(例如 .net 中的应用程序域,例如)。 那么chrome是否采取了一些混合方法?创建几个进程,然后开始在这些有限的进程集中托管其他选项卡??

【问题讨论】:

    标签: resources google-chrome


    【解决方案1】:

    它被托管在第一个进程中。打开铬。您将看到 2 个进程(管理器和初始选项卡)。然后再打开10个标签,你会注意到第二个进程的内存跳跃很多。然后在第一个选项卡中输入 google.com 或其他内容,您会看到一个新进程被生成。

    还请注意,如果您在 chrome 中执行 shift+esc 并打开任务管理器,所有这些选项卡将组合在一起,一个带有内存,其他的则没有。

    【讨论】:

      【解决方案2】:

      不要忘记,如果两个站点共享一个会话,它们就会共享一个进程。因此,从一个站点打开一个新页面的链接将处于同一个会话中(因此也是同一个过程)。

      对于使用 Ctrl+T 创建的每个选项卡,您应该获得一个新进程。

      【讨论】:

        【解决方案3】:

        我还注意到浏览同一域的选项卡在同一进程中分组。因此,如果您有 3 个选项卡浏览 stackoverflow.com,这三个选项卡将被视为一个进程

        【讨论】:

        • 我的情况似乎并非如此。我在新选项卡的左侧打开了一个“相关”链接,这两个选项卡没有显示为相同的过程。 image
        【解决方案4】:

        进程创建相对昂贵,当然与线程创建相比。但是在 Chrome 中创建进程的频率非常很慢,所以真正的问题是资源开销与其他技术相比的数量。

        Google 团队认为,独立流程模型的好处证明了资源成本是合理的。鉴于桌面计算机上的当前资源,这种权衡很有意义。

        【讨论】:

          猜你喜欢
          • 2011-07-17
          • 2013-12-17
          • 1970-01-01
          • 1970-01-01
          • 2012-06-19
          • 1970-01-01
          • 1970-01-01
          • 2012-03-22
          • 1970-01-01
          相关资源
          最近更新 更多