让你的 Mac 睡个真正的好觉 💤
MacBook 合盖休眠一晚上,第二天打开发现电量平白无故掉了 10% 甚至更多?你是否也因为类似的问题而苦恼?
有人建议关闭 tcpkeepalive、关闭隔空投送、关闭 Find My 等。然而,在系统设置层面的这些修修补补,往往无法从根本上解决耗电问题。
检查电源日志会发现,大概率是 macOS 的 DarkWake(暗黑唤醒) 机制在作祟。苹果设计这个机制的初衷是好的:在电脑休眠时偶尔唤醒它(屏幕不亮),用于处理 DHCP 租约续期、iCloud 同步、Find My 位置上报以及接收各种推送。
按设计,Mac 每深度睡眠 60 分钟只会触发一次约 10 秒的 DarkWake,一晚上 8 小时理应只耗电 1-2%。但现实很骨感:各种杂乱的网络请求、局域网的唤醒包(AWDL)会让这个机制失控。你的 Mac 会在合盖后被网络持续不断地频繁唤醒,陷入 “唤醒 → 尝试休眠 → 再被网络唤醒” 的死循环。这就是一晚上合盖掉电 10%+ 的根因。
最彻底的解法只有一个:拔掉它的“网线”。 关掉 Wi-Fi、蓝牙和 AWDL,彻底切断物理层面的网络连接。系统没有网络任务需要处理,就不会被周期性唤醒,从而真正进入功耗极低的深度睡眠。
macdeepsleep 做的就是这件纯粹的事: 👉 合盖时,自动秒关 Wi-Fi、蓝牙和 AWDL;开盖时,按原状瞬间恢复。
由于直接监听操作系统的底层电源事件(kIOMessageSystemWillSleep 和 kIOMessageSystemHasPoweredOn),因此它完全兼容Amphetamine等阻止休眠的软件。只有当系统真正决定要睡过去时才会切断网络。
提供一键安装脚本,自动下载最新版本的预编译二进制并配置好系统服务。
打开「终端」(Terminal),复制并执行以下命令:
curl -fsSL https://raw.githubusercontent.com/EAEdward/macdeepsleep/main/install.sh | sudo bash(注:由于需要注册系统级守护进程,该命令会要求输入你的开机密码)
执行完毕后,直接合上屏幕再打开,感受下无缝衔接的网络恢复吧!
MIT License