Chrome浏览器过程分析

上一篇文章“浏览器进程线程,任务队列和异步/等待”根据我自己的理解分析了浏览器的进程和线程。最近钱柜体育 ,我发现极客时代的一门很好的课程-浏览器的工作原理和实践。根据老师的课程,我对过程的水平进行了记录和实际分析。

当前的多进程体系结构

本课程介绍单进程浏览器,早期的多进程体系结构,当前的多进程体系结构和将来的面向服务的体系结构。本文主要分析当前的多进程浏览器体系结构,如下图所示:

任务管理器进程

Chrome流程体系结构

从图中可以看出,最新的Chrome浏览器包括:1个主浏览器(浏览器)进程,1个GPU进程,1个网络(NetWork)进程,多个渲染进程和多个插件进程。

几个过程的功能如下:

进程 管理_任务管理器进程_任务进程rthdcpl

过程分析

现在问一个问题,当前的Chrome浏览器两页后将打开多少个进程?以下分析是在不同情况下进行的。

一般情况

请勿加载任何插件。通常情况下乐鱼官网 ,打开Goog​​le和百度的主页。结果如下图所示:

任务管理器进程

5个过程

可以发现将有一个浏览器进程,一个GPU进程,一个网络进程以及两个制表符渲染进程,即1 + 1 + 1 + 2 = 5个进程。每个选项卡都放置在不同的进程中,这有效地避免了在单进程体系结构下一页崩溃时整个浏览器崩溃的困境。

加载两个扩展

在正常情况下随意加载两个扩展名,结果如下图所示:

任务管理器进程

7个过程

可以发现扩展有两个附加进程,即1 + 1 + 1 + 2 + 2 = 7个进程。类似于创建标签页的原因,插件过程是单独隔离的,以确保插件过程崩溃不会影响浏览器和页面。

打开同一网站的两个页面

现在关闭所有插件并打开**同一站点**的两页。

进程 管理_任务管理器进程_任务进程rthdcpl

相同站点和相同来源的定义之间存在差异。 “相同站点”定义为根域名(例如)加上协议(例如或),包括根域名下的所有子域和不同端口。例如,以下三个:

所有协议都属于同一个站点,因为它们的协议是https,并且根域名也是。

任务管理器进程

4个过程

可以发现,百度搜索github和百度搜索javascript这两个选项卡已合并到同一进程中,共享一个进程ID,即1 + 1 + 1 + 1 = 4个进程。主要原因是Chrome的默认流程策略是“每个站点实例流程”,这意味着每个标签都对应一个渲染流程。但是,如果从一个页面打开一个新页面,并且新页面和当前页面属于同一站点,则新页面将重用父页面的呈现过程。总之,同一站点实例使用一个过程。

两个iframe嵌套在一页中

关闭所有插件任务管理器进程,编写一个html文件并打开它,内容如下:



  
    
    iframe
  
  
    
    
  

代码中使用了两个iframe框架,打开后的任务管理器如下:

任务管理器进程

6个过程

在Chrome任务管理器中亚博yaboapp ,尽管仅打开了一个标签,但是两个iframe页面占用一个单独的进程,因此1 + 1 + 1 + 3 = 6个进程。

查看Windows系统任务管理器

尽管Chrome浏览器具有任务管理器,但Windows系统还附带了任务管理器。使用正常条件(即关闭所有插件,仅打开百度和Google主页)进行比较:

进程 管理_任务进程rthdcpl_任务管理器进程

任务管理器进程

Chrome任务管理器

任务管理器进程

Windows任务管理器

比较显而易见任务管理器进程,为什么Chrome Task Manager中只有5个进程,而Windows Task Manager中只有7个进程。这是因为Chrome有一些辅助进程,这些进程不会显示在任务管理器中。例如,预渲染过程是附加的渲染辅助过程。有渲染要求时,可以直接改进流程,从而节省创建流程的时间。

参考

浏览器的工作原理和实践-> 01、Chrome架构:为什么只打开一页会出现4个进程?幸运快3 ,李冰

老王
地址:深圳市福田区国际电子商务产业园科技楼603-604
电话:0755-83586660、0755-83583158 传真:0755-81780330
邮箱:info@qbt8.com
地址:深圳市福田区国际电子商务产业园科技楼603-604
电话:0755-83174789 传真:0755-83170936
邮箱:info@qbt8.com
地址:天河区棠安路288号天盈建博汇创意园2楼2082
电话:020-82071951、020-82070761 传真:020-82071976
邮箱:info@qbt8.com
地址:重庆南岸区上海城嘉德中心二号1001
电话:023-62625616、023-62625617 传真:023-62625618
邮箱:info@qbt8.com
地址:贵阳市金阳新区国家高新技术开发区国家数字内容产业园5楼A区508
电话:0851-84114330、0851-84114080 传真:0851-84113779
邮箱:info@qbt8.com