2008-09-03 64 views
3

我在Chrome浏览器上阅读googlebooks,在那里他们谈论他们为什么决定启动一个进程来托管浏览器选项卡,每次创建新选项卡。 所以Chrome选项卡和进程

2突出部= 2的镀铬处理

3个标签= 3铬处理等..权利?

但我打开了大约20级左右的标签,但在任务管理器,我只能找到3铬工艺..

这是怎么回事?

我被教导说,创建一个过程是一个昂贵的资源需求方面的命题,并且还有其他轻量级选项可用(例如.net中的应用程序域名).. 那么铬是否采取了一些混合方法? ?创建几个进程,然后在这些有限的进程集合内开始托管额外的选项卡?

回答

5

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

也注意到,如果您在+ chrome中移动+ esc并且启动任务管理器,那么所有这些选项卡将被组合在一起,一个w /内存,其他没有。

0

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

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

2

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

对于按Ctrl +Ť创建每个选项卡,你应该得到一个新的进程。

1

我也注意到,浏览同一个域名的标签ar分组在同一个进程中。所以,如果你有3个标签浏览器stackoverflow.com,这三个标签将作为一个进程应用

+0

这似乎并不是我的情况。我在一个新选项卡的左侧打开了一个“相关”链接,这两个选项卡不会显示为相同的过程。 [图像](http://i.imgur.com/p6pMVSw.png) – jasonszhao 2014-11-06 04:34:39