Chrome 五大进程记忆锦囊

一句话描述:

把 Chrome 多进程架构拆成顺口溜、餐厅故事、时间线和面试话术,用场景联想代替死记硬背,10 秒记住「1 页 4 进程」,30 秒答清面试追问。

给你几套好记、好玩的方法,可以混着用。


方法一:把 Chrome 想成一家「餐厅」

进程 餐厅角色 一句话
浏览器进程 大堂经理 管门面、接待客人、调度后厨、管仓库(存储)
渲染进程 厨师(每桌一个) 把食材(HTML/CSS/JS)做成菜(网页),关在厨房沙箱里
GPU 进程 摆盘师 负责把菜摆得好看、特效炫(3D、动画、整个 UI 绘制)
网络进程 采购员 专门出去买菜(加载网络资源)
插件进程 外聘艺人 来表演 Flash 之类,单独一间房,演砸了不影响整家店

开 1 个页面 = 4 个进程 :经理 + 厨师 + 摆盘师 + 采购员。

有插件再 +1:多来一个外聘艺人。


方法二:谐音口诀「网浏渲 G 插」

打开页面的顺序记:

先加载 → 览器管界面 → 染出页面 → G PU 画出来 → 有 件再加一个

念三遍:网浏渲 G 插(像「往流宣 G 差」)。


方法三:首字母故事「B-R-G-N-P」

编一个小故事:

B oss(浏览器)坐在前台管事;

R ender(渲染)在沙箱里炒菜;

G raphics(GPU)负责特效和摆盘;

N et(网络)出去拿货;

Plugin(插件)在隔壁房间,崩了也不连累别人。


方法四:「谁最老、谁最晚」------记演变史

书里有两个时间锚点,很好记:

  1. GPU 进程 :Chrome 刚发布时没有 ,后来网页和 UI 都要 GPU 画,才加进来 → 记:「GPU 是后来请来的」
  2. 网络进程 :以前在浏览器进程里,最近才独立 → 记:「网络从经理办公室搬出去了」

插件进程:一直就有,因为插件爱崩「插件单独关小黑屋」


方法五:对应你书里的「4 个进程」公式

原文结论(第 172 行)可以压成一句:

1 页 = 网 + 浏 + G + 渲 = 4

有插件 +1

打开 Chrome 任务管理器时,对着数:网络、浏览器、GPU、渲染------数到 4 就停;看到 Flash 之类再多一个。


方法六:联想「你打开网页时发生了什么」

按时间线记(比背定义轻松):

复制代码
你点链接
  → 网络进程:去服务器拿 HTML/CSS/JS
  → 渲染进程:Blink 排版 + V8 跑 JS,变成可点的页面
  → GPU 进程:把页面画到屏幕上(包括动画、3D)
  → 浏览器进程:地址栏、标签、书签、你点的按钮,全程在管
  → (可选)插件进程:页面里嵌了 Flash 等才出现

记住这条链,职责自然就记住了。


小测验(自测用)

  1. 死循环 JS 卡死的是哪个进程?→ 渲染(只卡当前标签)
  2. 3D CSS 最初是为了谁加的?→ GPU
  3. 以前和浏览器挤在一起、后来独立的?→ 网络
  4. 沙箱关的是谁?→ 渲染(还有插件)
  5. 地址栏、书签存在谁管?→ 浏览器

顺口溜版(10 秒背完)

一开页,四兄弟:网拿菜,渲炒菜,G 摆盘,经理管。

有插件,加一间,崩了也不连累全店。

进阶版(带职责):

网进程去拉货,渲进程做网页,

GPU 来画画,浏览器当家;

插件单独屋,崩溃不牵连。


面试 30 秒版

Chrome 采用多进程架构,主要解决单进程时代不稳定、不流畅、不安全的问题。

打开一个页面,默认至少有 4 个进程网络进程 负责资源加载;浏览器进程 负责 UI、用户交互和子进程管理;渲染进程 负责 HTML/CSS/JS 转成交互页面,跑 Blink 和 V8,默认每标签一个,且在沙箱中运行;GPU 进程负责 GPU 绘制。

如果页面有插件,还会多一个插件进程,与主流程隔离,避免插件崩溃影响整体。

多进程的代价是内存占用更高、架构更复杂,所以 Chrome 也在向面向服务的架构演进。

实用建议

  • 别一次背 5 个:先记「4 个必有」,插件当 bonus。
  • 打开任务管理器对照看更多工具 → 任务管理器,比背文字直观。
  • 用餐厅或流水线故事串起来,比孤立背「渲染进程负责...」省力。