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

MacBook 因网络活动导致的耗电问题

网络活动是 MacBook 耗电的主要元凶之一。如何找出元凶应用,并在不影响工作流的前提下让它们安静下来。

  • MacBook
  • Battery
  • Bandwidth
  • Troubleshooting

你的 MacBook 摆在桌上,盖子半开着,"什么都没在做"。你离开时电量 92%,九十分钟后回来变 71%。活动监视器没有任何进程顶满。风扇是静的。但电量在出血,答案几乎总是同一个:有东西在跟网络通信,收发器从来没真正睡,SoC 不停被戳醒去处理它。

MacBook 的电量耗尽不总是 CPU 故事。其中令人意外的一大部分是网络故事。要理解 MacBook 网络相关耗电,得看前台应用之间在发生什么——辅助进程、同步守护进程、保活心跳,以及那些从来没真正闭嘴的聊天应用。

为什么 MacBook 网络耗电不一样

你 Mac 发或收的每个数据包都要被三层付出代价。

  1. 收发器。 Wi-Fi(或共享网络时的蜂窝)是机器里耗电较高的部件之一。发送时电流明显比空闲时大,而且只要主机持续给它递包,它就无法深度休眠。
  2. 片上系统。 即使一个微小的网络事件——一个 200 字节的 ACK、一个心跳 ping——也会唤醒 SoC 的部分单元,跑一段代码,再回去睡。每分钟数百次累加。
  3. 显示器与内核。 一些网络事件触发通知、贴标更新或短促唤醒,会点亮显示背光或运行通知守护进程。每个都是一次小但真实的代价。

谋杀续航的规律是持续低量的喋喋不休:每隔几秒 ping 一次的应用、做无穷无尽元数据轮询的同步客户端、或者会议结束后从不真正释放音视频/网络会话的视频会议应用。

怎样发现元凶

活动监视器的"能耗"标签页给你一个"平均能量影响"数字,但它把 CPU、GPU 和网络合成一个分。要把耗电专门归到网络活动,你需要按时间的按应用带宽——不只是自启动以来的合计。

"良好"长什么样

一台空闲、Wi-Fi 上、没有前台工作的健康 Mac,通常会显示:

  • 系统服务的几 KB/s 后台流量(NTP、推送通知、软件更新检查)
  • 邮件或信息这类应用同步时的短促爆发
  • 爆发之间长段近零流量

"糟糕"长什么样

  • 持续 50–200 KB/s 的基线,从不下降
  • 按规律间隔(每 30 秒、每分钟)重复的尖峰
  • 单个应用在空闲期累积出可观的 MB

如果你看到糟糕规律,你有一个藏在网络问题背后的电量问题。

常见嫌疑

少数几个应用持续出现在 MacBook 网络耗电调查里。

云同步客户端

Dropbox、Google Drive、OneDrive 和 iCloud 云盘都维持后台连接。它们在索引文件夹、监视变化、上传队列时让收发器忙。如果三个都跑、其中两个还监视同一文件夹,你在付双份钱。

聊天与会议应用

Slack、Discord、Microsoft Teams 和 Zoom 都保持长连接。仅 Slack 的辅助进程每个工作区就能保持多个 socket 打开。Teams 历史上一直是后台重谈话者。Zoom 在通话结束后让音频设备和网络会话保活的时间比你想象的长。

标签页太多的浏览器

一个开了 40 个标签的 Chrome 窗口是 40 个小网络主体。每一个都可能轮询更新、刷新广告、上报遥测。聚合起来很可观,而因为每个辅助进程都小,它在不归并辅助到父应用的工具里就显示不清。

备份和杀软

通过网络的 Time Machine、Backblaze、目的地是云的 Carbon Copy Cloner、以及任何第三方终端安全代理,只要它们有活就会让收发器忙。

辅助进程归并
ova 把每个 Chrome Helper、Slack Helper、Discord Helper、Telegram Helper PID 归到它们的父应用下。你看到的是 "Slack" 用了 8 MB/分钟,不是七行单独的 "Slack Helper"。这让到底是哪个应用在喋喋不休一目了然。

把电量损失归到具体应用

下面这个流程在任何现代 MacBook 上都管用。

  1. 建立基线。 关掉所有能关的。记下电量百分比、时间,如果你想要个数字也记下 pmset -g batt 里的瓦数。
  2. 等十五分钟,盖子开着,屏幕调暗。不主动使用。
  3. 查看那段时间的按应用网络用量。 你要找的是悄悄累积最多数据的那个应用。
  4. 退出嫌疑应用,再观察十五分钟。
  5. 对比掉电速率。 真正与网络相关的耗电,在去除元凶后每十五分钟会偏移 1–3 个百分点。

这正是 ova 为之而生的工作:一个一眼可瞄的菜单栏带宽监控,按应用显示实时速率和历史时间线,约 1 Hz 采样,辅助进程归并到父应用下,读数与你的脑内模型一致。

看清谁在通过收发器吃你的电

ova 是 macOS 上一款极简菜单栏带宽监控——本地数据、已签名公证、约 3 MB。按应用的实时速率加可拖动历史。

下载 macOS 版

今天就能做的实操步骤

不诊断也能拿到多数好处。下面是回报最快的改动。

选一个云盘,把其余降级

如果你 Dropbox、iCloud 云盘和 OneDrive 全在跑,选一个做主,没积极需要时退出其他。两个同步引擎监视重叠文件夹是一项你一直在交的税。

退出你不在用的聊天应用

Slack 和 Discord 被设计成感觉"始终在线"。这对响应速度好、对你想离线写或读时的电量糟糕。专注时退出、切换上下文时再开,社交上零成本,省下的电量真实。

关掉你忘了的浏览器窗口

那个上周二开着 30 个标签、想着"我会回来看"的窗口是后台耗电源。书签存上,关掉。

禁用你不需要的开机自启项

系统设置 → 通用 → 登录项。多数用户里面有 3–5 个不记得自己加过的东西。每一个都是开机时的潜在网络主体。

电池上启用低电量模式

系统设置 → 电池 → 低电量模式。它压制后台活动并减少后台抓取。它不是网络监控,但能自动抑制最坏的元凶。

macOS 告诉你什么、不告诉你什么

macOS 暴露大量能耗信息,对网络用量也有一定量,但两者没连得很好。

  • 活动监视器 → 能耗 显示能量影响但把网络归到一个分里
  • 活动监视器 → 网络 显示发送和接收字节,但是快照不是时间线,且不归并辅助进程
  • 系统设置中的电池 → 电池健康 → 过去 24 小时 显示放电曲线,但没有按应用归因
  • Console.app 显示唤醒原因,但内容压垮人,不是为非工程师设计的

这个空缺——介于"电量在掉"和"这个具体应用是因为让收发器忙而导致"之间——正是一个按应用的带宽监控填补的空缺。ova 在一个菜单栏下拉里给你时间线和按应用归因,因为它纯本地,所以不会给你正在解决的问题再添加自己的网络喋喋。

关于蜂窝和共享网络模式

如果你把 MacBook 通过手机共享网络,每个字节代价更大——既是套餐成本,也是收发器功耗。说话的是手机里的蜂窝调制解调器,但产生需求的是你的 Mac。同一套诊断方法适用,只是后果更可见,因为你可能同时看到手机电量也在掉。

共享网络时,macOS 把连接标记为昂贵,一些应用尊重这个信号。很多不尊重。云备份服务尤其在计费连接上自我克制的口碑差。在带宽附带美元成本时,按应用审计用量更重要。

收尾

MacBook 的网络耗电问题真实、常见,几乎总能追到两三个应用。前路不长:

  • 确认在没什么该跑的时候确实在掉电
  • 用按应用、辅助归并的视图找出谁在产生后台流量
  • 一次一个地退出或重配元凶
  • 验证掉电速率下降

不需要任何稀奇古怪的东西。你需要的是看清你 Mac 收发器在做什么的可见性,最好放在你真会看的菜单栏里。这就是 ova 的全部意义——它驻在那里,采样网络,归并辅助,给你时间线。磁盘约 3 MB,运行于 macOS 14 及以上,所有数据留在你的机器上。

花十分钟审计一次。你会找到那个一直每小时悄悄花掉你 15% 的应用,并把这部分续航大半拿回来。