打开 1 个页面至少需要 1 个网络进程、1 个浏览器进程、1 个 GPU 进程以及 1 个渲染进程,共 4 个;如果打开的页面有运行插件的话,还需要再加上 1 个插件进程。
- 浏览器进程:主要负责界面显示、用户交互、子进程管理、同时提供存储等功能。
- 渲染进程:核心任务是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页,排版引擎 Blink 和 JavaScript 引擎 V8 都是运行在该内存中,默认情况下,Chrome 会为每个 Tab 标签创建一个渲染进程。出于安全考虑,渲染进程都是运行在沙箱之下。
- GPU 进程:GPU 的使用初衷是为了实现 3D CSS 的效果,只是随后网页、Chrome 的 UI 界面都选择采用 GPU 来绘制,这使得 GPU 成为浏览器普遍的需求。
- 网络进程:主要负责页面的网络资源加载,之前是作为一个模块运行在浏览器进程里面的。
- 插件进程:主要是负责插件的运行,因插件容易崩溃,所以需要通过插件进程来隔离,以保证进程崩溃不会对浏览器和页面造成影响。