Chrome 每个网站都占 590MB?一次存储迷案的排查过程
起因:一个吓人的弹窗
某天打开 Chrome,弹出提示要求清理存储空间。打开 chrome://settings/content/all(按已存储数据排序),看到了一个诡异的画面:
几乎每个网站都占用了 ~590MB。
notion.so 占了 4.7GB(这个还算合理),但 arrae.com 594MB、vrdesktop.net 593MB、shopify.com 592MB… 连 cursor.com 都是 590MB。
总计 85.6GB。
第一反应:这不科学。一个电商网站凭什么在我本地存 590MB 数据?
排查第一步:Storage API 说「我没有」
用 JavaScript 在几个网站上跑了 navigator.storage.estimate():
const estimate = await navigator.storage.estimate();
console.log((estimate.usage / 1024 / 1024).toFixed(2) + ' MB');
| 网站 | Storage API 报告 | Chrome 设置显示 |
|---|---|---|
| arrae.com | 0.01 MB | 594 MB |
| claude.ai | 0 MB | 596 MB |
| youtube.com | 0.1 MB | 595 MB |
Storage API 涵盖了 IndexedDB、Cache API、Service Worker 存储 —— 基本上是网站能主动写入的所有数据。结果几乎为零。
排查第二步:quota-internals 揭示真相
打开 Chrome 的内部诊断页面 chrome://quota-internals:
Total Storage Usage: 3,114,883 B(约 3MB)
所有网站的实际 Web 存储加起来才 3MB。
Chrome 设置报告的 85.6GB 里,99.99% 是 HTTP 缓存(网页图片、JavaScript、CSS 等浏览器自动缓存的文件),不是你在网站上填写的表单、文档或任何个人数据。
为什么每个网站都是 ~590MB?
Chrome 从 115 版本开始启用了 缓存分区(Cache Partitioning)。简单说:
- 以前:所有网站共享一个 HTTP 缓存池
- 现在:每个顶级站点有自己独立的缓存分区
这意味着,如果你安装了某个 Chrome 扩展程序,它存储了约 590MB 的数据(比如广告过滤规则库),Chrome 可能会把这份存储分别计入每个它注入过的网站。
于是你就看到了每个网站都是 ~590MB 的「奇观」。
插曲:YouTube 突然「断网」
排查存储问题的同时,YouTube 突然显示「连接到互联网 —— 你没有联网,请检查网络连接」。
但诡异的是:
- 左侧边栏完全正常(订阅列表、历史记录都在)
- 其他网站访问正常
- 打开新 Tab 访问 YouTube → 正常加载
这说明不是真的断网。
根因:当时正好在下载并安装另一个浏览器(一个 AI 浏览器),安装过程中需要授予系统级网络权限。macOS 在授权 Network Extension 时会短暂重置网络栈(通常 1-3 秒),足以让正在加载的页面请求失败。
YouTube 的 Service Worker 检测到网络请求失败后,展示了缓存的离线页面 —— 而且不会自动恢复,需要手动点「重试」或开新 Tab。这就是为什么旧 Tab 卡在离线页面,新 Tab 却正常。
那个「删除所有数据」按钮安全吗?
回到最初的问题。答案是:可以放心点。
清除的内容:
- HTTP 缓存(占了 99.99% —— 就是那些虚胖的 590MB)
- Cookies(会退出所有网站的登录)
- localStorage / IndexedDB(网站的本地偏好设置)
不会清除的内容:
- Notion 文档(存在 Notion 服务器上)
- Google Docs 内容(存在 Google 服务器上)
- 任何云端服务的数据
- 浏览器书签、密码、历史记录
所有现代在线工具(Notion、Google Docs、Figma 等)都是云端存储,浏览器里的只是缓存副本。删掉后重新登录,数据会从服务器重新加载。
总结
| 现象 | 真相 |
|---|---|
| 每个网站占 590MB | HTTP 缓存 + 扩展存储被分区计数膨胀 |
| 总计 85.6GB | 实际 Web 存储仅 3MB |
| YouTube「断网」 | 安装新软件时 macOS 短暂重置网络栈 |
| 删除数据会丢文档? | 不会,云端数据完全不受影响 |
排查工具备忘:
chrome://settings/content/all— 查看各网站存储占用(包含 HTTP 缓存,数字偏大)chrome://quota-internals— 查看真实的 Web 存储用量(不含 HTTP 缓存)navigator.storage.estimate()— JavaScript API,查看当前网站的实际存储
如果这篇文章对你有帮助,欢迎请我喝杯咖啡,支持我继续创作更多内容。
Buy me a coffee