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

Mac 蜂窝数据使用详解:macOS 如何处理热点流量

深入解析 macOS 对 iPhone 热点连接的处理方式,为何会迅速消耗蜂窝流量,以及如何控制用量。

  • macOS
  • Hotspot
  • Bandwidth
  • Tutorial

你在咖啡馆把 MacBook 通过 iPhone 共享网络工作了几个小时,晚上一查流量套餐,发现比预期多用了 4 GB。当时啥重活都没干。也没开通话。然后你盯着手机上一行大字写着"个人热点"的用量分解发呆,没有任何进一步说明。

macOS 用蜂窝数据——通常是通过 iPhone 共享网络——和用 Wi-Fi 的方式有些一致、有些不一致。理解 Mac 的蜂窝数据用量、macOS 把什么视为"昂贵连接"、以及怎样按接口计量,这些事在每兆字节都计费的时候很重要。这是一篇面向共享网络用户的实战指南。

macOS 怎么看待共享网络中的 iPhone

当你在 iPhone 上打开个人热点,Mac 通过 Wi-Fi、USB 或蓝牙连过去时,macOS 把它当作普通的网络接口。差别在于元数据:macOS 知道这条连接是个人热点,可以把它标记为"昂贵",让懂事的应用收敛一些。

接口

  • Wi-Fi 共享网络: Mac 用自己的 Wi-Fi 收发器跟手机的 Wi-Fi 收发器通信,再由手机走蜂窝出去。两个收发器都在工作。
  • USB 共享网络: Mac 跟手机有线相连,手机走蜂窝。只有手机的收发器在工作,Mac 的 Wi-Fi 可以休眠。
  • 蓝牙共享网络: 因为太慢很少用,但能用。

USB 共享网络通常最高效:延迟更低、Mac 端没有 Wi-Fi 收发器开销、吞吐更稳。如果是认真工作的共享网络,USB 值得用。

"昂贵"标记

macOS 内部有"受限"或"昂贵"连接的概念。低数据模式就是借此向下游的应用传递信号:"这条连接花钱或者有上限,请收敛点。"按这个信号写得规矩的应用会减少后台抓取、推迟非紧急的上传、避免不必要的预加载。

问题是:这只是建议,不是强制。很多第三方应用根本不查这个标记。云同步客户端在这件事上的口碑一向不好。

低数据模式在哪里

这里说的低数据模式是 Mac 端的设置,不是手机端的。

系统设置 → Wi-Fi → 点击当前网络(连上时个人热点会出现在这里)→ 详细信息 → 低数据模式开关。

打开后,macOS 会:

  • 告诉应用这是受限连接
  • 暂停一部分系统级更新和下载(App Store 更新、iCloud 照片备份)
  • 不在这条链路上推太多后台活动
  • 不会(也无法)阻止第三方应用想干什么干什么

手机这边也可以配置:iPhone 上,设置 → 蜂窝网络 → 蜂窝数据选项 → 低数据模式。这是个独立设置,限制的是 iPhone 自己应用的蜂窝用量。共享网络时两边都打开比较合适。

Mac 蜂窝用量控制把什么当昂贵——什么会漏过去

下面是个人热点上谁通常守规矩、谁不守规矩的实操分类。

一般守规矩

  • App Store 更新会暂停,除非你手动批准
  • iCloud 照片 通常会暂停上传队列
  • 软件更新 会压住大下载
  • 邮件 还能用,但会推迟一些后台抓取

表现混合

  • Safari 和其他浏览器 全速跑;它们不会在蜂窝下限制下载或视频流
  • iCloud 云盘 行为不定;小文件同步会继续,大上传有时会暂停
  • Dropbox 和 Google Drive 经常会全速跑;取决于你在每个应用里的设置

一般不受限

  • 流媒体应用(Spotify、YouTube、Netflix)——别假设它们会自动降低画质
  • 视频会议应用(Zoom、Teams)——能用多少用多少
  • 备份工具(Backblaze、网络上的 Time Machine)——除非显式配置否则不会暂停
  • 多数第三方聊天应用——保持长连接

规律是:Apple 自家应用倾向于尊重昂贵标记。第三方应用经常不尊重。

拿到按接口的计量

macOS 通过几条路径暴露按接口的字节数。

netstat

终端里:netstat -ib 显示自启动以来按接口的字节数。会列出 en0en1awdl0utun0(VPN)等。个人热点对应的接口通常是当前活跃的 Wi-Fi 或 USB 共享网络接口。

适合一个数字("自启动以来 Wi-Fi 上一共多少字节"),但对按应用分解或"过去一小时发生了什么"没用。

nettop

也是终端:nettop -P -m route 给你按进程的实时网络活动视图。它显示按接口的字节数,做到应用层级。界面不好看但准确,而且 macOS 自带。

活动监视器

网络标签页给的是每个进程自启动以来的字节数。不按接口分解,不归并辅助进程,不留历史。

一款专门的监控工具

知道接口、知道按应用用量的菜单栏带宽监控工具能省下来回切换。ova 显示按应用的速率和历史,辅助进程会折叠到父应用下,所以共享网络时你能立刻看到是 Slack、Chrome 还是某个后台进程在啃你的套餐。

按应用、辅助进程已归并、可拖动时间线
ova 大约以 1 Hz 采样并把历史持久化在本地。共享网络一小时之后回头拖时间线,立刻看清哪个应用对应哪些兆字节。

共享网络前的检查清单

如果你常用共享网络又想要可预测的流量,下面这套流程会替自己回本。

  1. 在 Mac 上为热点网络打开低数据模式
  2. 显式暂停云备份(Backblaze、Time Machine 之类)
  3. 暂停文件同步(Dropbox、Google Drive、OneDrive),如果当下不需要
  4. 退出当下不需要的聊天应用
  5. 关掉自动刷新的浏览器标签页(新闻站点、面板)
  6. 如果开着流媒体的标签页,关掉自动播放
  7. 跳过 macOS 更新提醒,等回到 Wi-Fi 再说

现在你以一个已知基线在共享网络。

实时看你共享网络下的用量

ova 是一个菜单栏带宽监控应用,显示按应用的实时速率和历史,辅助进程已归并。本地数据,约 3 MB,已签名公证。

下载 macOS 版

常见出乎意料

一些共享网络用户容易被搞到的流量。

Spotlight 索引新邮件或新文件

如果你下线几天后再上线,Spotlight 可能在后台决定建索引,里面可能包含下载附件或同步元数据。在进程列表里表现为 mdsmdworker

照片图库追上进度

如果 iCloud 照片在你离线时被暂停,看到连接(哪怕是共享网络)后可能开始激进同步——具体看设置。

偷偷过去的 App Store 更新

低数据模式下自动更新基本被压制但不完美。一次会话之后回头看 App Store 活动确认下。

某个你忘了还连着的 Slack 通话

视音频通话不会因为你走开就自动断开。早上某个"还连着的" Slack huddle 能悄悄吃掉几百兆。

macOS 自己在后台跑系统更新

如果有重大更新排着队,macOS 可能在任何连接上尝试预下载,包括共享网络。要显式暂停软件更新。

实践中蜂窝路径与 Wi-Fi 路径的区别

一些值得知道的实操差异。

延迟

蜂窝通常比 Wi-Fi 延迟高,信号弱时尤其明显。频繁 ping 的应用表现会不同。SSH 会话可能感觉迟钝;视频通话可能抖动更多。

吞吐量飘

蜂窝吞吐量随信号强度、时段、拥塞剧烈波动。同一个位置上午十点给你 50 Mbps,晚上六点可能就只有 8 Mbps。能自适应缓冲的应用(流媒体)应付得来;不能的(一些同步客户端)就会反复重试浪费字节。

每兆字节成本

哪怕套餐不显式按兆字节收费,热点共享网络通常有上限(美国运营商常见 5–30 GB),超过之后吞吐被严重限速。知道你这个月用到哪了,对计划很重要。

隐私

蜂窝给你的公网 IP 比多数 Wi-Fi 网络更能唯一关联到你。对多数工作流来说不是有意义的隐私差别,但在意的话值得知道。

收尾

把 Mac 通过手机共享网络工作完全没问题,只要你花一次会话真正盯着机器在这条链路上做了什么,Mac 的蜂窝用量问题就不再神秘。结论的形状在不同用户那里都差不多:

  • 一小撮应用尊重低数据模式、表现良好
  • 另一小撮完全无视、照旧
  • 几个偷偷摸摸的后台进程(Spotlight、照片、软件更新)一旦你知道留意,是有规律的
  • 每一种情况下的解法都是事前有意识地准备 + 工作时一直开着按应用的监控

ova 或者类似的菜单栏监控工具陪你过一次共享网络的会话,规律就显而易见了。之后那张共享网络前检查清单会变成十五秒的习惯,流量账单不再让你意外。macOS 有这套基础设施——只是它不主动给你拆账。盯着线路看,画面很快就清楚了。