为什么现代浏览器占用这么多 RAM

发布: (2026年1月3日 GMT+8 21:50)
5 min read
原文: Dev.to

Source: Dev.to

Cover image for Why Modern Browsers Eat So Much RAM

你打开浏览器,只打开一个标签页……一个小时后,电脑风扇开始嗡嗡作响,RAM 使用率飙升。很多用户认为浏览器优化不足,但事实更为微妙。现代浏览器之所以表现如此,是设计使然,而非偶然。

让我们拆解一下浏览器内部到底发生了什么。

1. 浏览器不再是“仅仅浏览器”

当今的浏览器是完整的应用平台。一个标签页可以运行:

  • JavaScript 引擎
  • 视频解码器
  • 后台工作线程
  • WebAssembly 模块
  • 扩展和 Service Worker

在很多方面,浏览器标签页更像是一个小型操作系统,而不是简单的文档查看器。

2. 一个标签页 = 一个进程(出于安全)

  • 现代浏览器采用多进程架构。
  • 每个标签页在独立的进程中运行。
  • 崩溃的标签页不会导致整个浏览器挂掉。

安全隔离可以防止数据泄露并提升稳定性,但每个进程都会占用自己的内存块。

3. JavaScript 从不真正休眠

网页会不断运行脚本:

  • 实时更新
  • 动画
  • 广告和跟踪器
  • 分析脚本

即使是非活动标签页,除非明确暂停,也常常会运行后台任务。这种持续执行会迅速累积内存占用。

4. 扩展是无声的内存消耗者

广告拦截器、密码管理器、暗色模式工具以及各种生产力扩展会向每个页面注入脚本。单个扩展可能很小,但它们加在一起可以消耗数百兆字节的 RAM——往往超过页面本身的占用。

5. 缓存是功能,而非缺陷

浏览器有意使用额外的内存来:

  • 缓存图片和脚本
  • 保持标签页响应迅速
  • 减少网络请求

空闲的 RAM 是浪费的 RAM。浏览器倾向于利用它来提升速度——只有在系统需要时才释放。

6. 媒体丰富的网站改变了一切

现代网站包含:

  • 高分辨率图片
  • 自动播放视频
  • 复杂的 CSS 布局
  • 繁重的前端框架

今天的一个“简单”页面可能加载的资源量,已经超过十年前整个网站的总量。

7. 为什么关闭标签页并不总能释放 RAM

当你关闭标签页时:

  • 内存可能会暂时保留。
  • 缓存数据会被保留以供复用。
  • 垃圾回收不会立即执行。

这会让人觉得浏览器在“泄漏内存”,即使它的行为是正常的。

8. 为什么浏览器在使用更多 RAM 时仍然感觉更快

大量内存使用提升了性能:

  • 更快的标签切换
  • 流畅的滚动
  • 即时的页面重新加载

现代浏览器用内存换取速度,假设大多数系统拥有足够的 RAM。

9. 如何控制浏览器的内存使用

你可以通过以下方式降低内存压力:

  • 限制打开的标签页数量
  • 禁用不使用的扩展
  • 使用内置任务管理器
  • 启用标签页挂起或休眠功能
  • 偶尔重启浏览器

结论

浏览器并没有变得更差——它们在做更多的事。看似低效的现象往往是有意的性能和安全权衡。了解浏览器如何使用 RAM 能帮助用户更聪明地使用,而不是与系统对抗。

你的浏览器并不是贪吃内存,而是把内存投资在速度上。

Back to Blog

相关文章

阅读更多 »

C# 智能枚举:优化版

问题:“LINQ 税” 在第 1 部分中,我们用 records 替换了魔法数字。为了查找特定的状态,我们使用了 LINQ:csharp var status = Status.All.SingleOrDe...