Chrome标签和流程
时间:2020-03-05 18:47:22 来源:igfitidea点击:
我正在阅读chrome上的googlebook,他们谈论为什么每次创建新标签时决定启动一个进程来托管浏览器标签。"
所以
2个标签= 2个镀铬工艺
3个标签= 3个镀铬工艺,依此类推..对吗?
但是我打开了大约20个选项卡,但是在任务管理器中,我只能找到3个chrome进程。
到底是怎么回事??
有人告诉我,就所需的资源而言,创建流程是一项昂贵的提议,并且还有其他轻量级选项可用(例如.net中的应用程序域,例如ex。)。
铬会采取某种混合方法吗?创建几个进程,然后开始在这些有限的进程集中托管其他选项卡?
解决方案
回答
与线程创建相比,进程创建相对昂贵。但是Chrome中进程创建的频率非常慢,因此真正的问题是资源开销与其他技术相比。
Google团队认为,使用单独流程模型的好处证明了资源成本的合理性。鉴于台式机上的当前资源,这种权衡是很有意义的。
回答
不要忘记,如果两个站点共享一个会话,则它们共享一个进程。因此,从一个打开新页面的站点进行链接访问将处于同一会话(因此过程相同)。
对于使用Ctrl + T创建的每个标签,我们应该获得一个新的过程。
回答
它是在第一个过程中托管的。打开铬。我们将看到2个流程("经理"和"初始"标签)。然后再打开10个标签,我们会注意到第二个进程的内存跳跃很多。然后在第一个标签中输入google.com或者其他内容,就会看到产生了一个新的过程。
还要注意的是,如果我们执行shift + esc并在chrome中放大了任务管理器,则所有这些选项卡都将组合在一起,一个选项卡带内存,其他选项卡不带。
回答
我还注意到,浏览同一域的选项卡以相同的过程分组。因此,如果我们有3个标签页浏览stackoverflow.com,则这三个标签页将作为一个过程进行应用