热点与流量
让 Mac 将网络视为按流量计费
macOS 会将某些连接(例如 iPhone 个人热点)标记为高成本。其他手机的热点在 Mac 看来可能和普通 Wi-Fi 一样。
症状
- 在 Android 热点上,App 的行为和在家庭 Wi-Fi 上一样。
- Mac 通过 USB 连接手机共享网络时,仍在运行更新和同步。
- 在按 GB 收费的网络上,低数据模式处于关闭状态。
可能的原因
- macOS 只认识部分连接。Apple 文档将蜂窝网络和个人热点列为高成本接口,但没有提到其他手机的热点。
- 网络共享可能看起来像以太网。用线缆连接的手机可能显示为有线或 USB 网络服务。
- macOS 没有将网络标记为高成本的开关。“系统设置”为 Wi-Fi 网络提供了“低数据模式”,但没有按流量计费开关。
如何检查
显示正在使用高成本接口的进程。如果 App 正在联网却没有进程出现,说明 macOS 并未将该网络视为高成本。
nettop -P -l 1 -t expensive选取苹果菜单 >“系统设置”>“Wi-Fi”。点按网络旁边的“详细信息”。
查看该网络的“低数据模式”开关。
如何修复
在 Wi-Fi 热点上,于 Wi-Fi“详细信息”中打开“低数据模式”,然后点按“好”。
使用 iPhone 时,尽量通过个人热点连接。macOS 会将其标记为高成本。
使用该连接期间,手动暂停同步、备份和更新。参阅Mac 在后台消耗个人热点流量。
关闭 macOS 自动下载。参阅阻止“软件更新”在热点上下载。
使用 Kilobat
Kilobat 为每个网络设置数据计费方式:自动、按流量计费或不限流量。“自动”跟随 macOS 的判断。
将当前网络标记为按流量计费。适用于 Android 热点以及 USB 或以太网网络共享。
kilobat networks cost metered也可以在 Wi-Fi 菜单、预算菜单、“健康”标签页或“设置”中进行设置。
查看 Kilobat 依据的状态以及 macOS 的判断。
kilobat conditions --json输出
metered、osMetered和meteredSource(值为macOS或you)。在按流量计费的网络上,Kilobat 会切换到“出行”配置,并跳过定时速度测试。阻止 App 需要 Pro 和网络过滤器。
对于 Wi-Fi,Kilobat 需要定位权限才能区分不同网络。参阅在按流量计费的网络上阻止 App。
常见问题
可以在“系统设置”中将网络标记为按流量计费吗?
不可以。“系统设置”为每个 Wi-Fi 网络提供“低数据模式”。低数据模式和高成本是两个不同的标记。
App 如何知道连接是高成本的?
使用 Apple Network 框架的 App 可以读取当前路径的 isExpensive 和 isConstrained。
参考资料
- Apple 开发者:NWPath isExpensive
- Apple Developer:NWPath isConstrained
- Apple 支持:Mac 上的 Wi-Fi 设置
- nettop(1),macOS 27.2 自带的 man 手册页
- Kilobat 文档:热点与流量费用
参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。