五千年(敝帚自珍)

主题:【原创】Chrome进程管理(1)---启动模式 -- 素里太守

共:💬40 🌺72
全看树展主题 · 分页首页 上页
/ 3
下页 末页
家园 【原创】Chrome进程管理(1)---启动模式

CHROME有4种启动模式,分别对应4种进程管理模式。俺就从易到难挨着个地数落一遍。

Single process,单进程模式,命令行参数 --single-process。这个最简单了,传统上浏览器就是这么运行的,一个进程涵盖了浏览网页过程中的所有资源。

Process-per-site,网站进程模式,命令行参数 --process-per-site。正在浏览的每个网站对应一个Render进程。什么叫Render进程?下面的下面的下面俺还要解释。那什么叫网站?怎么定义?GOOGLE是这样解释的:西西社区 --- ccthere.com,西西河典藏 --- cchere.com,淘客熙熙 --- talkcc.com都是单独的网站。如果用Chrome网站进程模式同时打开http://www.ccthere.com/和http://www.ccthere.com/forum/boards/,Chrome只分配一个Render进程渲染这两个不同的网页文件,维护网页的DOM, 运行其中的JavaScript代码。

Process-per-tab,标签页进程模式,命令行参数 --process-per-tab。Chrome浏览器的每个标签页对应一个Render进程。这个东西倒是直观易懂,俺就不多费口舌了。

Process-per-site-instance 网站实例进程模式,命令行参数没有,这是预置进程模式。如果用Windows或者Chrome的任务管理器观察,该模式标签页进程模式似乎没有差别 --- 浏览简单网页,Chrome的进程数目不变;但是用VS或者其他工具观察,差别就体现出来了。在Chrome打开1个标签页浏览不同的网页进程数目不变,但是从一个网站切换到另一个网站, Render进程的ID发生变化 --- 原先的Render进程被释放,回收,Browser生成新的Render进程用于新的网站。

预告:Chrome进程管理(2)--- 威胁模型(Threat Model)

其它链接

关键词(Tags): #Chrome#进程#TAB#标签#Browser元宝推荐:爱莲,

本帖一共被 1 帖 引用 (帖内工具实现)
家园 沙发
家园 有料

花,期待下文。

家园 不知道Process-per-site有什么特别好处

per tab 很好理解,但是 per site 似乎没有什么必要吧?难道说,是缺省认为来自同一个site的内容可以相互信任?还是说,对于一些静态内容,可以相互之间缓存作用?

家园 防止慢的网站把整个浏览器弄死

CHROME里面可以把慢的网站关掉而不影响其他网站浏览.

家园 这个在FF中深有体会啊~

一旦出现某个网站的连接出了问题,整个FF就会被拖至假死状态数分钟~

家园 是个好办法。但per tab应该也可以,或者还更好些?

比如,对每个tab的内容进程进行监控,一旦慢了,可以某个tab的防止死循环。

就比如西西河,有些页面会比较慢,大部分还算正常的快。

家园 process-per-site的用途

假如在浏览器中同时打开多个tabs,每个tabs的URL都相同,如果启动方式是process-per-site,那么一个process同时兼管多个tabs。

这样做的好处是什么?有点想不明白了。:)

家园 可以提高共享度

如果很多URL相同或者近似的话,它们之间会共享很多多媒体和JAVA的东西,这样只需要下载一份就可以给很多TAB使用.

家园 个人观点

1.目前的Chrome还是0.2.x.x版。等到1.x.x.x版发布的时候这些进程模式可能还有会变化。

2.除单进程模式外,其它的模式有些例外情况,以后的帖子中还会谈及。

3.大家目前主要的注意力依然集中在PC平台。考虑到目前硬件配置水平,PORCESS PER SITE似乎没有必要性。但GOOGLE的视野绝对不限制在PC平台,手机是未来的重要战场。就目前而言,手机平台的硬件资源依然可怜 --- 网络链接数度和质量,CPU主频,RAM内存容量。比如,最新发布的HTC TOUCH HD不过也500多Mhz的主频,288 MB RAM。如果用CHROME的预置进程模式来跑的话,估计内存占用很不乐观。在安全性上做点让步,PORCESS PER SITE是个很好的折中。

家园 四种启动模式的比较

是不是可以这么理解,

1. SINGLE-PROCESS 占用资源角度最省,但是运行速度最低。

2. PROCESS-PER-TAB 占用资源角度最费,但是运行速度最高。

3. PROCESS-PER-SITE-INSTANCE 是占用资源与运行速度两极之间最聪明的折中,但是实现代码最复杂。

4. PROCESS-PER-SITE 在占用资源与运行速度两极之间,类似与PROCESS-PER-SITE-INSTANCE,但是实现代码比较简化。

谈到手机浏览器,太守的意思是不是PROCESS-PER-SITE 是最佳选择?

家园 共享的问题

多谢,同意你的意见,譬如同一网站的多个网页,或许会共用同一套JavaScript。

另外,不知道配额对我的关于“四种启动模式的比较”有什么指点。

家园 ......

1. SINGLE-PROCESS 占用资源角度最省,但是运行效率最高。

2. PROCESS-PER-SITE 在占用资源与运行速度两极之间。,但是实现代码比较简化。

3. PROCESS-PER-TAB 占用资源角度最费,但是运行效率最差 --- 所有的东西都要跨进程。

4. PROCESS-PER-SITE-INSTANCE 类似 3。有些情况下效率好于3。释放进程资源可以提交给OS?

对使用者而言,最重要的“速度”是看到网页效果的延迟时间。Chrome的Browser主进程会根据TAB的优先次序调整Render进程的优先级。

家园 手机上网

手机上网的行为模式应该与PC上网有所不同。

1.手机上网局限于经常去的网站,对这些网站有相当的“信任度”,因此可以降低安全方面的要求。

2.手机上网避免去比较复杂效果的网站。

3.手机上网基本上是“read only”。

俺没有这方面的体验。用的多的河友不妨说道说道。

......
家园 我有点糊涂了

1. SINGLE-PROCESS 占用资源角度最省,但是运行效率最高。。。3. PROCESS-PER-TAB 占用资源角度最费,但是运行效率最差 --- 所有的东西都要跨进程。

有几个疑问,

1. 干嘛不统统用SINGLE-PROCESS呢?

2. PROCESS-PER-TAB的优势在哪里呢?

3. 为什么Chrome把PROCESS-PER-SITE-INSTANCE设为default?从常规上讲,PROCESS-PER-SITE-INSTANCE似乎是Chrome开发人员心目中,资源占用和运行效率的最佳组合。

全看树展主题 · 分页首页 上页
/ 3
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河