谷歌浏览器多进程模型,谷歌浏览器多进程模型是什么

这篇文章给大家聊聊关于谷歌浏览器多进程模型,以及谷歌浏览器多进程模型是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

谷歌浏览器多进程模型,谷歌浏览器多进程模型是什么

本文目录

  1. 为什么只点开两个谷歌浏览器 会出现这么多进程
  2. 谷歌是什么
  3. ...深入了解现代web浏览器(一)CPU,GPU,内存和多进程架构
  4. 谷歌浏览器怎么会有那么多进程
  5. Google 浏览器Chrome 那么多进程应该怎么办

一、为什么只点开两个谷歌浏览器 会出现这么多进程

1、是这样的,谷歌浏览器占用很多系统进程来使每个网站进程之间相互独立,且与计算机上的其他进程独立,Chrome利用这一点将网络应用以及插件放在浏览器本身的每个子进程中。

2、基本上,每个标签都有一个进程,每个插件一个进程。所以你会发现很多进程。

3、可以通过:设置->工具->任务管理器,来查看进程。

二、谷歌是什么

1、1998年,拉里佩奇和谢尔盖布林在美国斯坦福大学的学生宿舍内共同开发了谷歌在线搜索引擎,并迅速传播给全球的信息搜索者;8月7日,谷歌公司在美国加利福尼亚州山景城以私有股份公司的型式创立。同年,发明GooglePageRank专利。

2、谷歌是一家位于美国的跨国科技企业,业务包括互联网搜索、云计算、广告技术等,同时开发并提供大量基于互联网的产品与服务,其主要利润来自于关键词广告等服务。2018年1月,腾讯和谷歌宣布双方签署一份覆盖多项产品和技术的专利交叉授权许可协议。2018年5月29日,《2018年BrandZ全球最具价值品牌100强》发布,谷歌公司名列第一位。12月18日,世界品牌实验室编制的《2018世界品牌500强》揭晓,Google排名第2位。2019年度全球最具价值100大品牌榜第二位。

三、...深入了解现代web浏览器(一)CPU,GPU,内存和多进程架构

1、 C entral P rocessing U nit--中央处理器

2、一个cpu可以看成是计算机的大脑。一个cpu内核,可以想象成一个办公室工作人员,可以处理一个接一个的工作。过去,大多数的cpu都是单芯片。现代硬件中,通常会有多内核,为手机和电脑提供强大的计算能力。

3、 G raphics P rocessing U nit-图形处理器,显卡。

4、 cpu擅长同时处理跨内核的第一个简单任务。顾名思义,它是为处理图形而开发的。

5、计算机的三层架构:机器硬件在最底层,操作系统在中间,应用在最上面。

6、进程可以看作应用的执行程序。线程是存在于进程里面,并且可以执行进程的任一部分程序。

7、当我们启动一个应用的时候,就会创建一个进程。程序可能会创建多个线程去帮助其工作,当然这是可选的。操作系统会给进程分配内存块,应用程序的所有状态都可以保存在该私有空间。当关闭程序的时候,进程会消失并且操作系统也会释放内存。

8、 [图片上传失败...(image-79f93e-1614521883417)]

9、一个进程可以向操作系统申请另外一个进程来执行不同的任务,操作系统将为新进程分配另外一部分内存。如果两个进程想要通信,他们需要使用 I nter P rocess C ommunication(进程间通信)。很多应用都是以这种方式工作的,如果一个进程无响应,可以直接重启该进程,而不需要停止执行应用程序其他部分的进程。

10、 [图片上传失败...(image-314f39-1614521883417)]

11、目前没有关于如何构建网页浏览器的标准规范,因此一个浏览器的实现方法和另外一个可能完全不同。可以是具有多个线程的一个进程,也可以是几个通过IPC进行通信的多个进程。

12、我们以Chrome的架构为例子来介绍。顶部是浏览器进程,负责协调应用程序的其他进程。对于渲染进程,将会有多个并且分配给每个tab。现在,Chrome为每个tab页创建提供单独的进程,包括iframe。

13、下图为Chrome的多进程架构图。在渲染进程下有多个图层,它表示为每个tab页运行了多个渲染进程。

14、不同进程指向浏览器UI界面的不同部分:

15、还有更多的进程,比如扩展进程和实用进程。我们点击浏览器右上角的三个点,选择“更多工具”->"任务管理器",它列出了当前正在运行的进程和占用的cpu/内存量。如下:

16、 [图片上传失败...(image-ccb7a6-1614521883417)]

17、由于进程有自己私有的内存空间,通常包含通用结构的备份。这意味着更多的内存占用,因为他们不是同一进程的多个线程,因此无法共享。为了节省内存,chrome限制可启动的进程个数,限制数量根据当前设备内存和cpu动态确定,但是当触发这个限制之后,将会对同一站点的多个tab页在一个进程中运行。

18、同样的方式适用于浏览器进程。Chrome正在进行架构调整,将浏览器的程序每个程序部分作为一个服务运行,可以将不同的进程进行拆分和合并。

19、一般的想法是,当Chrome在强大的硬件上运行的时候,为了稳定性它会将每个服务拆分到不同的进程,但是如果在一个资源有限的设备上,为了节省内存Chrome会将服务合并到一个进程。在次更改之前,安卓平台已经使用类似的方法为了减少内存使用合并了多个进程。

20、 [图片上传失败...(image-33c86d-1614521883417)]

21、站点隔离是Chrome最新引入的功能,可以为每个iframe运行单独的渲染进程。我们一直在讨论每个tab页都有一个独立的渲染进程,它允许跨站点的iframe在一个渲染进程中运行,并且在不同的站点共享内存空间。在一个渲染进程中运行 a.com和 b.com看起来没有问题。同源策略是web的核心安全模型,它确保一个网站在未经同一的情况下访问其他站点的数据,绕过此策略是安全攻击的主要目标。进程隔离是分离站点最有效的方法。因为meltdown和spectre这两个经典漏洞,我们需要使用进程隔离站点变得更加明显。从Chrome 67版本以来默认启用站点隔离,每个跨站点的iframe会有一个独立的渲染进程。

22、启用站点隔离是一项多年工程积累的成果。站点隔离并不像分配不同渲染进程那么简单,它从根本上改变了iframe的通信方式。在不同进程运行的iframe页面上打开devtools意味着devtools必须实现后台的通信功能才能让它们看起来是无缝的。就算在页面上使用 ctrl+ f搜索也意味着在不同渲染进程间查找。这就是浏览器工程师将站点隔离功能的发布当作一个主要里程碑的原因。

23、在这篇文章中,我们涵盖了浏览器的高级视图和多进程架构的优势。我们页介绍了与多进程架构密切相关的服务化和站点隔离。在下一篇中,我们将深入研究这些进程和线程为了展示网站发生了什么。

四、谷歌浏览器怎么会有那么多进程

其实是这样的,谷歌浏览器占用很多系统进程来使每个网站进程之间相互独立,且与计算机上的其他进程独立,Chrome利用这一点将网络应用以及插件放在浏览器本身的每个子进程中。基本上,每个标签都有一个进程,除非这些进程是来自同一个子域的。比如说渲染器就有着其本身的进程,每个插件以及其扩展功能也都有其自身的进程。这就意味着一个网络应用的渲染引擎崩溃不会影响整个浏览器或者其他的网络应用,操作系统可以并行运行网络应用来增强他们的响应能力,浏览器自身不会因为某个网络应用或者插件停止响应而停止工作。这也就意味着我们可以在开发时利用沙箱(一个安全的执行受限制的环境)来运行渲染引擎进程,减少意外操作而导致损失的几率。

五、Google 浏览器Chrome 那么多进程应该怎么办

1、正如前面所介绍的,Google Chrome每开一个新标签页面,都会在系统进程里加入一个Chrome.exe进程。有的人当查看任务栏管理器里那么多进程时,很是担心,让为多个Chrome.exe进程肯定多吃内存。以下这个小方法就是为这些人准备的。

2、开启单进程方法:在Google chrome的图标上右键选择属性→快捷方式选项卡,在如下图的“目标”处内容框里:

3、   将原本"C:/Documents and Settings/admin/Local Settings/Application Data/Google/Chrome/Application/chrome.exe"(含双引号),后面加个空格,填入:

4、"C:/Documents and Settings/admin/Local Settings/Application Data/Google/Chrome/Application/chrome.exe"--single-process

5、注意:后面要有个空格,然后单击应用→确定。(当然,如果你想图个省事,可以将以上这个路径直接复制到你的目标处覆盖原内容即可:)

6、至此,开多个标签,任务栏管理器里终于只有一个“Chrome.exe"进程了。当然,内存并不见得省多少,只是可能会省而已。原来单个Chrome.exe进程的内存占用都加到了一个Chrome进程中来了。(比如,原来开了三个标签,任务栏管理器里有3个Chrome.exe进程,分别占用10M,11M,12M内存,现在同样是开三个标签,只不过任务栏管理器里只显示一个 Chrome.exe进程,而他的内在占用量为约33M,推想这样子:),我并未经过测试。

7、后记一下:貌似我自己从昨天用到此方法之前都没有出现过崩溃及应用程序异常退出的现象,可是按刚才这个加“--single-process”只允许单进程chrome.exe的方法已经先后在不到两个小时内出现了三次应用程序异常退出(虽然每次谷歌浏览器会询问自动恢复打开异常退出的网页功能退出)。看来外界评测说明的谷歌浏览器为每一个新开标签分配一个Chrome.exe进程的做法确实有助于谷歌浏览器的稳定。

关于谷歌浏览器多进程模型到此分享完毕,希望能帮助到您。

声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。

本文链接:http://www.gdxhedu.com/news/208439.html