热点与流量

让 Mac 将网络视为按流量计费

macOS 会将某些连接(例如 iPhone 个人热点)标记为高成本。其他手机的热点在 Mac 看来可能和普通 Wi-Fi 一样。

适用于:App 读取的高成本标记适用于 macOS 10.14 及更高版本;Wi-Fi“详细信息”中的“低数据模式”适用于 macOS 13 Ventura 及更高版本。核查日期:2026年10月29日

症状

  • 在 Android 热点上,App 的行为和在家庭 Wi-Fi 上一样。
  • Mac 通过 USB 连接手机共享网络时,仍在运行更新和同步。
  • 在按 GB 收费的网络上,低数据模式处于关闭状态。

可能的原因

  • macOS 只认识部分连接。Apple 文档将蜂窝网络和个人热点列为高成本接口,但没有提到其他手机的热点。
  • 网络共享可能看起来像以太网。用线缆连接的手机可能显示为有线或 USB 网络服务。
  • macOS 没有将网络标记为高成本的开关。“系统设置”为 Wi-Fi 网络提供了“低数据模式”,但没有按流量计费开关。

如何检查

  1. 显示正在使用高成本接口的进程。如果 App 正在联网却没有进程出现,说明 macOS 并未将该网络视为高成本。

    nettop -P -l 1 -t expensive
  2. 选取苹果菜单 >“系统设置”>“Wi-Fi”。点按网络旁边的“详细信息”。

  3. 查看该网络的“低数据模式”开关。

如何修复

  1. 在 Wi-Fi 热点上,于 Wi-Fi“详细信息”中打开“低数据模式”,然后点按“好”。

  2. 使用 iPhone 时,尽量通过个人热点连接。macOS 会将其标记为高成本。

  3. 使用该连接期间,手动暂停同步、备份和更新。参阅Mac 在后台消耗个人热点流量。

  4. 关闭 macOS 自动下载。参阅阻止“软件更新”在热点上下载。

使用 Kilobat

  1. Kilobat 为每个网络设置数据计费方式:自动、按流量计费或不限流量。“自动”跟随 macOS 的判断。

  2. 将当前网络标记为按流量计费。适用于 Android 热点以及 USB 或以太网网络共享。

    kilobat networks cost metered
  3. 也可以在 Wi-Fi 菜单、预算菜单、“健康”标签页或“设置”中进行设置。

  4. 查看 Kilobat 依据的状态以及 macOS 的判断。

    kilobat conditions --json

    输出 metered、osMetered 和 meteredSource(值为 macOS 或 you)。

  5. 在按流量计费的网络上,Kilobat 会切换到“出行”配置,并跳过定时速度测试。阻止 App 需要 Pro 和网络过滤器。

  6. 对于 Wi-Fi,Kilobat 需要定位权限才能区分不同网络。参阅在按流量计费的网络上阻止 App。

常见问题

可以在“系统设置”中将网络标记为按流量计费吗?

不可以。“系统设置”为每个 Wi-Fi 网络提供“低数据模式”。低数据模式和高成本是两个不同的标记。

App 如何知道连接是高成本的?

使用 Apple Network 框架的 App 可以读取当前路径的 isExpensive 和 isConstrained。

参考资料

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。