apsd —— 让通知能找到你的那条常开连接
最后更新: 2026-07-30
apsd 是苹果推送通知服务(APNs)的客户端守护进程。它维持一条长连接到苹果的推送基础设施,让消息、来电和 App 通知能送达,而不需要每个 App 各自轮询。它几乎不耗流量,但连接按设计就是永不关闭——这份「常驻」是特性,不是症状。
它是什么
apsd 是 APNs(苹果推送通知服务)的客户端守护进程,是推送消息进入你 Mac 的唯一入口。
它为什么存在值得说一下,因为这能解释那个让人起疑的行为。在推送服务出现之前,一个想知道「有没有新数据」的应用只能反复去问——每一两分钟轮询一次服务器,永远如此,不管有没有变化。装了二十个这样的应用,就是二十个进程不停唤醒、二十套连接、以及为了得到「没有新东西」这个答案而持续消耗的电量和带宽。
推送把这件事反了过来。一个守护进程,一条连接。当某台服务器有东西要给你机器上的任何一个 App 时,它把消息交给苹果,苹果沿着那条已有的连接推下来,apsd 再分发给对应的 App。二十个轮询者变成了一个监听者。
它为什么要联网
它维持一条持久的 TLS 连接到苹果的推送基础设施,通常是苹果 17.0.0.0/8 段里的某个地址,端口 5223。
这条连接上的流量分两类。心跳包是间歇性的小消息,用来确认连接还能用——这是必要的,因为家用路由器和移动网络会悄悄掐掉闲置连接,而一条你以为开着、实际已断的连接,意味着通知根本不会来。载荷就是通知本身,有严格的大小限制,通常只包含一小段消息和一些路由用的元数据。
iMessage 和 FaceTime 的来信来电也走这条路,所以 apsd 出问题时,最先表现出来的往往是「消息在 Mac 上总是慢半拍」。
正常流量应该是多少
可以忽略不计。这是「连接常开完全说明不了流量大小」的最清楚的一个例子。
心跳包只有几个字节,间隔以分钟计。通知载荷上限只有几 KB,实际大多远小于此。消息往来密集的一天可能累积到几 MB,普通的一天则远低于这个数。
真正让人不安的通常是它的常驻性,而不是它的体量——一条永不关闭的连接,指向一个解析不出熟悉名字的 IP。这两点对 apsd 来说都很正常。如果你想判断是不是出了问题,请看字节数,别看连接持续了多久。
能不能关掉
不能,而且针对真实抱怨有好得多的工具。 apsd 属于「保持开启」类。
禁用它等于让整个系统失去通知投递能力,iMessage 和 FaceTime 的接收也跟着一起没了。而它本来就几乎不耗带宽,所以从资源角度根本没有关它的理由——你会为了省下几乎为零的东西,弄坏一个核心功能。
如果真正的问题是通知太多,那是另一回事,也有它自己的正解:系统设置 › 通知,逐个 App 设置。这样既能止住打扰,又保留了通道本身,让你还想要的那些——比如有人给你打电话——照常送达。
怎么看它到底用了多少
apsd 是「别拿连接的样子判断进程」的经典反例。它永久维持着一条连接,指向一段多数人认不出来的 IP,而搬运的数据量四舍五入等于零。
Bytetally 统计的是每个进程真实的上传下载量,而不是连接状态,所以这个问题很快就能有定论:不管 apsd 的连接看着多可疑,它那一行始终待在列表底部。万一哪天它真的往上爬了,那才值得看一眼——但正常运行下不会。
相关进程
常见问题
apsd 为什么连一个 17.x.x.x 的地址?
17.0.0.0/8 是分配给苹果的一整段 IP。推送连接就终结在这个范围内的苹果服务器上,通常走 5223 端口。看到 apsd 常驻连着一个 17.x 地址,恰恰是一台健康 Mac 该有的样子。
为什么这条连接一直开着?
这就是整套设计的核心。推送通知要在发出后一秒内送达,只有连接已经存在才做得到——临时去建连接太慢了。而且所有 App 共用一条常驻连接,也远比每个 App 各自轮询省资源,推送机制发明出来就是为了取代轮询。
能禁用 apsd 吗?
不建议。关掉它,全系统通知都收不到,iMessage 和 FaceTime 也会收不到消息和来电。如果只是某些 App 通知太吵,正确的开关在系统设置 › 通知里——那样既能止住打扰,又不会破坏其他东西都依赖的这条通道。
apsd 会用很多流量吗?
几乎不用。维持连接靠的是间隔性的小心跳包,通知内容本身也被限制在几 KB 以内。哪怕消息特别多的一天,也很难累积出什么有意义的数字。它属于典型的「连接常驻、流量可忽略」。
看清它到底用了多少
Bytetally 逐进程分别统计上传与下载,实时和历史都有,全部在本机完成。
免费下载 · Mac App Store需 macOS 14 Sonoma 或更高 · 100% 本机分析 · 无需账号