确定您的 Mac 从睡眠状态唤醒的原因
目录:
您是否曾经让您的 Mac 进入睡眠状态,当您回到机器前却发现它似乎自动苏醒了?我遇到过几次随机唤醒 Mac 的谜团,通过一些终端命令,您可以帮助追踪导致 Mac 从睡眠中唤醒的原因。因此,如果您想知道为什么您的 Mac 从睡眠中醒来,请继续阅读以了解如何帮助确定原因。
知道发生这种情况的原因有很多,有时是导致 Mac 从睡眠中唤醒的硬件事件,有时是软件,有时是其他原因。本指南将帮助确定任何 Mac、iMac、MacBook Air、Pro 等从睡眠状态唤醒的原因。是的,它有点技术性,使用 Mac OS X 中的命令行查看系统日志,然后您需要将多字符“唤醒原因”代码与下面显示的列表进行比较,指示实际睡眠原因是什么。让我们开始吧。
如何找出Mac从睡眠中醒来的原因
启动位于/Applications/Utilities/ 中的终端,并根据您的MacOS 系统软件版本在命令行中准确键入以下内容:
"对于macOS Monterey和Big Sur,尝试以下命令:pmset -g log |grep Wake Request "
这可能会揭示导致唤醒的直接进程或应用程序。或者,您可以运行以下命令,它也可能显示导致唤醒的进程,以及可能有助于发现系统唤醒原因的调试代码:
log show |grep -i 唤醒请求"
For MacOS Sierra, Mojave, Catalina, and newer, with the new logging system, use the following command:
log show |grep -i “唤醒原因”
对于MacOS El Capitan、Yosemite、Mavericks 和更早版本,使用传统的syslog 命令:
"syslog |grep -i 唤醒原因"
点击回车,然后您将在 Mac OS X 中看到来自系统日志的报告,可能类似于以下内容:
Sat Jul 10 08:49:33 MacBookPro 内核:唤醒原因=OHC1 Sat Jul 10 17:21:57 MacBookPro 内核:唤醒原因=PWRB Sun Jul 11 08 :34:20 MacBookPro 内核:唤醒原因=EHC2 Sun Jul 16 18:25:28 MacBookPro 内核:唤醒原因=OHC1
现在您将要查看“Wake reason=”文本旁边的代码,这将有助于告诉您计算机从睡眠中醒来的原因。那么这些唤醒原因代码是什么意思呢?
唤醒原因代码及其在Mac OS X中的含义
我们将描述每个内核调试唤醒原因代码及其相关内容,引导您了解导致机器唤醒的原因。
- OHC:代表Open Host Controller,通常是USB或Firewire。如果您看到 OHC1 或 OHC2,几乎可以肯定是外部 USB 键盘或鼠标唤醒了机器。
- EHC:代表Enhanced Host Controller,是另一种USB接口,但也可以是无线设备和蓝牙,因为它们也在Mac的USB总线
- USB:USB设备唤醒机器
- LID0:这实际上是MacBook 或MacBook Pro 的盖子,当您打开盖子时,机器会从睡眠中唤醒。
- PWRB:PWRB代表电源按钮,是Mac上的物理电源按钮
- RTC:实时时钟闹钟,通常来自按需唤醒服务,例如当您在 Mac 上安排睡眠和唤醒时通过节能器控制面板。它也可以来自启动设置、用户应用程序、备份和其他计划的事件。
可能还有一些其他代码(如PCI、GEGE等),但以上是大多数人会在系统日志中遇到的代码。找到这些代码后,您就可以真正缩小导致 Mac 随机从睡眠中唤醒的原因。
注意: 如果您不习惯使用命令行,也可以通过查看控制台来监控唤醒原因代码。但是,根据我的经验,控制台的搜索和使用速度比终端慢。这通常是因为控制台中的默认字符串匹配搜索将查看您所有的系统和应用程序日志,包括来自第三方的日志。
您发现这对于追踪 Mac 从睡眠中醒来的原因有用吗?对于发现类似信息,您还有其他提示或建议吗?在下面的评论中与我们分享。并感谢 Matt 提供了这个绝妙的建议!