返回博客
·9 分钟阅读·productdevbook

如何在 macOS 上查看 Chrome 每个标签页的流量

如何在 macOS 上按标签页拆分 Chrome 流量——辅助进程难题、哪些工具能搞定,以及它们各自的盲区。

  • App-specific
  • macOS
  • Bandwidth
  • Browser

你开了 40 个 Chrome 标签,风扇在转,这小时已经用了 600 MB 但没有明显元凶。活动监视器显示一行叫 "Google Chrome Helper (Renderer)" 三十八次。没有一个告诉你哪个标签是哪个。要在 macOS 上看 Chrome 按标签的带宽,你得知道 Chrome 怎么把标签映射到进程、怎么通过 Chrome 自己的工具读数据,加上一个不会被辅助行淹没的按应用监控。

下面是从进程模型到可执行步骤的实操设置。

macOS 上 Chrome 的进程模型

Chrome 设计上是多进程。每个标签——通常——跑在自己的渲染进程里。还有:

  • 浏览器进程 — 主 Chrome 进程、UI、协调。
  • GPU 进程Google Chrome Helper (GPU),合成。
  • 渲染进程Google Chrome Helper (Renderer),每个站点框架组一个,受 Chrome 进程限制约束。
  • 插件 / 工具进程 — 用于网络服务、存储、音频等。
  • 扩展进程 — 多数扩展拿到自己渲染器类的进程。

所以一个典型 Chrome 会话有 1 浏览器 + 1 GPU + 10–40 渲染器 + 少数工具进程。在 macOS 上,所有这些都在活动监视器里以近乎相同的名字显示成单独行。

这就是为什么"Mac 上 Chrome 按标签带宽"是比"Chrome 总带宽"更难的问题。OS 看到 PID。你想要标签。

Mac 上 Chrome 按标签带宽怎样映射到进程

Chrome 用站点隔离模型。同一站点(同一 eTLD+1,例如 *.youtube.com)的两个标签经常共享一个进程。不同站点的标签拿到不同进程。跨站点 iframe 也能派生自己的进程。

实操影响:

  • 五个 youtube.com 标签可能坐一个或两个渲染器里。
  • youtube.comgithub.comtwitter.comnews.ycombinator.comnytimes.com 的五个标签会是五个不同渲染器。
  • 标签里的广告 iframe 能有自己进程。该 iframe 的带宽归到一个用户可见标签看起来不"拥有"的进程。

工具 1:Chrome 任务管理器(Mac 上 Shift-Esc:在菜单里)

Chrome 有内置任务管理器。在 macOS 上默认不绑到 Shift-Esc——在 Chrome 菜单栏打开 窗口 → 任务管理器。(或看 Chrome 版本用 查看 → 开发者 → 任务管理器。)

任务管理器每个 Chrome 进程显示一行,包括:

  • 任务名(常是标签标题,或扩展名)
  • 内存占用
  • CPU
  • 网络(当前速率)— 右键列表头并启用"网络"如果不可见。

这是"Mac 上 Chrome 按标签带宽"最接近原生的东西。按网络排序,你会看到当前哪个标签传最多数据。

限制:

  • 它显示实时速率,不是累计用量。如果一个标签一小时前突发加载了 200 MB,任务管理器不会显示——只显示现在在流的。
  • 跨标签共享的站点显示一次,不是每标签。
  • 跨站点 iframe 列为带晦涩名字的自己任务。

即使有限制,任务管理器是合适起点。

工具 2:归并辅助的按应用监控

Chrome 任务管理器给你看此刻的标签。你也想要纵向视图——Chrome 过去一小时、一天或一周做了什么——而不让四十行 Google Chrome Helper (Renderer) 弄乱画面。

ova 驻在你菜单栏,约 1 Hz 采样按应用速率,并把每个 Chrome 辅助 PID 归到单一 "Google Chrome" 行下。你看到合并速率、近期时间线,以及"我今天用了多少"需要的合计。

两个工具互补:

  • Chrome 任务管理器:哪个标签现在重。
  • 归并的菜单栏监控:Chrome 总共用了多少、尖峰什么时候发生、跨天怎么对比。
辅助进程归并
ova 把每个 "Google Chrome Helper" PID 卷到父下,所以你读 "Chrome 12 MB/s" 而不是四十行单独辅助。

找标签泄漏的 5 分钟工作流

Chrome 感觉重时,循环是这样:

  1. 打开菜单栏里的 ova。 记下当前 Chrome 速率。如果 0–50 KB/s,没漏——去看别处。
  2. 如果你不在主动浏览时 Chrome 持续超过 1 MB/s,打开 Chrome 的任务管理器。
  3. 按网络降序排序。 顶行是你元凶。常是错误暂停的视频标签、长轮询 websocket,或失控扩展。
  4. 记下任务名。 如果是扩展,决定你需不需要它。如果是标签,关掉或暂停它在做的任何事。
  5. 之后看 ova 30 秒。 Chrome 速率应该降。如果不降,漏在别处。

工作流熟练后是 60 秒诊断。

给你菜单栏加一个安静的 Chrome 监控

ova 显示一行 Chrome 带辅助合并和可拖动时间线——本地、签名、约 3 MB。

下载 macOS 版

常见 Chrome 带宽意外

几件抓人措手不及的事:

YouTube 预加载

YouTube 在你看的时候持续预加载接下来几秒视频。暂停的标签继续 ping。后台自动播放(你切标签时)经常继续加载。如果你有多个 YouTube 标签,即使暂停的也能吃带宽。

Service Worker

现代 web 应用装 service worker,标签不在焦点时也在后台跑。Gmail、Twitter、Slack web、Notion 都这样。它们周期取更新。关掉标签通常停它;有时 worker 持续到浏览器重启。

长轮询连接

一些 web 应用保持 HTTP 连接开作为穷人的 websocket。流量看着小但持续。跨多标签累加。

扩展

坏扩展能永远每秒轮询一次 API。一个一个禁用扩展并看你监控——话多的会暴露自己。

同步

Chrome 同步把书签、历史、密码和打开标签上传到你 Google 账号。通常很小。大书签导入后能测得到。

读数据:什么是正常 Chrome 速率?

一些基线:

  • 空闲,5–10 标签:合计 5–30 KB/s。
  • 活跃浏览,无视频:页面加载时尖峰,之间空闲。
  • 一个 YouTube 标签播 1080p:持续 600 KB/s - 1.5 MB/s。
  • 两个 YouTube 标签:大约翻倍。
  • Google Drive 同步文件夹:能打满上行。
  • 轮询差的 web 应用:即使空闲持续 50–200 KB/s。

如果你 ova 里的 Chrome 行在你什么都不做时坐在约 100 KB/s 以上,有问题。打开任务管理器找它。

站点隔离和跨站点 iframe

跟踪带宽时的一个褶皱:你"在"的标签可能不是动字节的那个。广告 iframe、嵌入 YouTube 播放器、Disqus 评论小组件——每个在站点隔离下能是自己进程。

在 Chrome 任务管理器里,那些以像 Subframe: https://example-cdn.com 这种名字出现。有时你会看到子框架消耗超过父标签。那是跟踪像素或分析 SDK 在跑,是考虑装广告拦截器的提示。

不禁用功能省 Chrome 带宽

几个移动指针的 Chrome 设置:

1. 内存节省(前称标签丢弃)

设置 → 性能 → 内存节省。丢弃不活跃标签。你点回去时标签重新加载,会用带宽——但作为交换,标签后台用零。多数工作负载净赢。

2. 预加载页面:关

设置 → 性能 → 预加载页面 → 不预加载。Chrome 默认预加载它预测你会访问的页面。关掉它停止投机下载。

3. 硬件加速

不直接影响带宽但减少视频播放期间 CPU,让网络栈不必那么努力。

设置 → 隐私和安全 → 第三方 cookie → 阻止。减少一些跟踪器流量。一些站点会坏——按站点检查。

5. uBlock Origin 或类似

真正的广告/跟踪器拦截器是典型浏览的最大单一带宽节省器。原本加载 4 MB 的页面降到 800 KB。如果你从没用过,效果在你监控上戏剧性。

活动监视器跟 Chrome 任务管理器不一致时

你会经常看到这个:

  • 活动监视器显示 Google Chrome Helper (Renderer) 接收合计 50 MB。
  • Chrome 任务管理器显示同一渲染器现在 "0 KB/s"。

两者都对。活动监视器是从进程启动以来累计;任务管理器是当前速率。要按标签累计,你需要一个跨时间聚合并一致地把 PID 映射到标题的工具——这难,因为 Chrome 在老的关时给新标签重用进程。

实操妥协:用 ova 看Chrome 总累计、用任务管理器看按标签实时速率,并接受按标签精确累计在 Chrome 上真的难测。

收尾

Mac 用户想看的 Chrome 按标签带宽分成两个问题:现在什么重(用 Chrome 任务管理器)、Chrome 过去一小时用了多少(用带辅助归并的按应用监控)。OS 给你按进程,Chrome 给你按任务,组合告诉你需要的。

打开 ova,旁边打开 Chrome 任务管理器,浏览时花五分钟看两者。你至少会发现一个你没意识到正在花钱的标签或扩展——多数人都会。