为什么我的 MacBook 在睡觉时会耗尽电池电量?

一些 MacBook Pro、MacBook AirMacBook 用户可能已经注意到,即使 Mac 处于睡眠状态且未使用时,他们的电脑也会耗尽电池电量。这似乎是一个奇怪的问题,但事实证明可能有一个解释。

诊断此问题的一种简单方法是转到  Apple 菜单 >系统偏好设置 >电池,然后选择“使用历史记录”。当您看到电池电量下降但“使用时屏幕”不存在时,您就知道 Mac 未使用时电池正在耗尽。上面的屏幕截图展示了一个严重的情况,MacBook Air 在不使用时耗尽了整个电池。

修复 MacBook Pro/Air 睡眠时电池耗尽的问题

通常发生这种情况是因为 Mac 实际上并未处于睡眠状态、屏幕刚刚关闭或 Mac 正在被唤醒。或者,在 Mac 笔记本电脑上打开了一项称为 Power Nap 的功能。让我们用各种故障排除技巧来研究这个问题。

查找阻止睡眠的应用程序/进程

一些应用程序和命令行工具专门防止睡眠,因此确定是什么以及为什么很重要。您可以使用命令行和 pmset 来解决这个问题,或者使用 Activity Monitor,这对大多数用户来说更容易。

  1. 通过按 Command+空格键,然后键入“Activity Monitor”并按回车键,从 Spotlight 打开 Activity Monitor
  2. 下拉“查看”菜单并转到“列”并选中“防止睡眠”列
  3. 为什么我的 MacBook 在睡觉时会耗尽电池电量?

  4. 现在,您可以按“防止休眠”进行排序,以查看是什么进程或应用程序阻止 Mac 休眠(如果有)
  5. 为什么我的 MacBook 在睡觉时会耗尽电池电量?

如果您的某个特定应用程序阻止睡眠,只需退出该应用程序通常即可解决问题。

例如,有时 OpenEmu 模拟器会阻止 Mac 进入睡眠状态,因此如果该应用程序已打开并正在运行,您可能无法真正让 Mac 进入睡眠状态,如上面的屏幕截图所示。

像 caffeinate 这样的命令行进程旨在防止睡眠,所以如果你看到类似的东西在运行,那肯定是原因。

禁用小睡

某些 MacBook Pro 和 MacBook Air 笔记本电脑支持称为 Power Nap 的功能,该功能允许 Mac 在本应处于睡眠状态时检查电子邮件和接收通知。关闭此功能可能会解决一些睡眠时电池耗尽的问题,尤其是当您收到大量电子邮件和通知时。

  1. 从  Apple 菜单转到“系统偏好设置”并选择“电池”
  2. 在“电池”选项卡中,取消选中“使用电池时启用 Power Nap”复选框
  3. 为什么我的 MacBook 在睡觉时会耗尽电池电量?

禁用增强通知

一些 Mac 还使用一种称为增强通知的功能在显示器处于休眠状态时发送通知,您可以关闭这些功能,这可能会在 Mac 也应该处于休眠状态时改善电池电量消耗。

暂时禁用蓝牙

一些 Mac 用户注意到关闭蓝牙可以防止睡眠耗尽问题。如果您使用外部键盘或鼠标,这会很不方便,因此您必须在唤醒 Mac 后再次打开蓝牙来解决这个问题。不理想,但可能是一种解决方法。

退出消息

Messages 应用程序会根据新发送和接收的消息自行刷新和更新,一些 Mac 用户注意到这似乎与计算机休眠时 Mac 电池电量耗尽有关。在 Mac 睡觉前退出消息已成为某些用户的解决方法。

高级:找出 Mac 从睡眠中醒来的确切原因

如果您更倾向于技术并且更习惯命令行,则可以按照本指南来了解 Mac 从睡眠中唤醒的确切原因。通常您会看到诸如 AirPort (wi-fi) 活动、机盖打开或键盘/鼠标活动之类的显示,但因为它使用系统日志来确定这些,所以它并不是特别适合用户使用的格式。

有一些有用的命令可供参考,它们可能会引导您发现导致 Mac 从睡眠中唤醒的原因、过程或应用程序。您可以根据需要参考这些,单独运行每个命令可能有助于调查 Macbook 电池耗尽问题。

从终端应用程序运行这些命令。

使用日志发现 MacBook 笔记本电脑上的唤醒请求:

log show | grep -i "Wake Request"
这可能会揭示类似以下内容,其中“powerd”通过“RTC”请求唤醒 Mac,这通常是一种自动行为,无论是按计划唤醒还是按网络请求唤醒:
2021-11-03 22:02:38.472928-0700 0x5cb1b Default 0x0 76 0 powerd: [powerd:wakeRequests] Selected RTC wake request:

使用 pmset 查找 Mac 笔记本电脑上的唤醒请求:

pmset -g log |grep "Wake Request"
可能会返回类似的内容,其中“进程”是唤醒请求的原因:
2021-11-30 13:33:36 -0800 Wake Requests [*process=SuperUpdaterPro request=Maintenance deltaSecs=7200 wakeAt=2021-11-30 15:33:36 info="upkeep wake"] [process=powerd request=TCPKATurnOff deltaSecs=99481 wakeAt=2021-12-01 17:11:38]

再次使用日志发现 MacBook 笔记本电脑的唤醒原因

log show |grep -i "Wake reason"
可能会返回类似的内容,其中“AppleTopCaseHIDEventDriver”表示 Mac 笔记本电脑的盖子已打开:
2021-10-26 00:48:13.953155-0700 0x12174 Default 0x0 0 0 kernel: (AppleTopCaseHIDEventDriver) [HID] [ATC] [Error] AppleDeviceManagementHIDEventService::setWakeReason Error setting wake reason (reportID = 0xc5, Return Value = 0xe0005000)

为什么我的 MacBook 在睡觉时会耗尽电池电量?

重启、重置 SMC、断开外围设备和 USB 设备以及杂项

有时,用户只需重新启动 Mac 即可解决神秘的无法睡眠或耗电问题。

此外,断开 USB 设备或其他小工具等外围设备的连接可能会解决此问题。

神秘电源问题的另一个常见故障排除技巧是重置 Mac 上的 SMC(这仅适用于 Intel Mac,因为 Apple Silicon 没有 SMC),如果 Mac 无法休眠,这通常可以解决问题。

它通常对 MacBook 电池的实际续航时间也很有用,您也可以在“活动监视器”中查看。

您是否遇到过 MacBook Pro、MacBook Air 或 MacBook 在计算机处于睡眠状态或不使用时耗尽电池的问题?你找到解决办法了吗?这里提到的提示有帮助吗?在评论中与我们分享您自己的经历。