盖子关闭时MacBook无法入睡


11

我到处寻找答案,找不到适合我的东西。

我有一台一体式铝制MacBook Pro,当我合上盖子时似乎不想睡觉。安装Lion后问题开始出现。

当我合上盖子时,它似乎要入睡(即Apple徽标变暗),但状态LED保持点亮,并且在5秒钟内,Apple徽标重新点亮。稍微抬起屏幕即可显示屏幕此时处于开启状态。

我知道当我合上盖子时,它不会在睡眠和唤醒,因为syslog | grep -i "wake reason"在笔记本电脑唤醒时不会显示唤醒条目。

到目前为止,我已经尝试过PRAM重置,SMC重置,禁用所有共享和蓝牙选项。在安全模式下启动时,它确实会在盖子关闭的情况下进入睡眠状态。这使我相信这是某种阻止睡眠的软件或设置,但我不知道如何解决。

有什么办法可以解决此问题或找出阻止睡眠的软件?

Answers:


4

缺少wake reason条目说明您的Mac从未完全睡眠。睡眠机制已启动但从未完成。

使用以下终端命令查看详细的日志,其中显示了Mac的电源历史记录:

pmset -g log

您将看到以下形式的条目列表:

 * Domain: applicationresponse.slowresponse
 - Message: PMConnection AirPort configd plug-in com.apple.powermanagement.applicationresponse.slowresponse 1399 ms
 - Time: 13/03/2012 12:27:53 CET 
 - Signature: AirPort configd plug-in
 - UUID: AB482838-2D6E-0000-0000-14BF53E20000
 - Result: Noop
 - Response time (ms): 1399

注意可能会使Mac保持唤醒和活动状态的应用程序。如果应用程序和其他进程正在提供文件共享或远程访问等服务,则可使它们保持清醒状态。但是,应在关闭盖子30秒钟后迫使过程进入睡眠状态。

您看到的行为表明内核扩展或IOKit问题。当用户煽动时,用户级进程不能阻止睡眠。

您是否安装了安装内核扩展(kext)的任何实用程序?这些可能包括屏幕录制或音频捕获工具;实用程序,而不需要低级访问Mac的权限。


您的回答最接近。事实证明,我忘了安装了咖啡因,尽管菜单栏中没有像运行时那样显示图标,但它仍然在某种程度上影响睡眠。也许它更改了某些系统设置,并且不需要运行即可造成麻烦。
alexcoco

2

如果您还没有这样做,那么值得修复它。权限错误已导致Lion升级中出现一系列奇怪的问题。

如果您可以确定问题是系统范围的还是用户特定的,这也可能有助于产生想法。为此,请创建一个新的原始用户帐户,然后使用该帐户查看问题是否仍然存在。

Lion的真正“干净安装”仍然是一个有争议的程序,但是一些用尽了所有其他诊断可能性的人最终都成功了。希望您的问题比这更直接!

-

编辑

我认为以安全模式启动可以解决问题,但是创建新用户却不能。这强烈表明问题是您在启动时加载的。好消息是,这应该很容易解决。

到目前为止,您的实验表明,导致问题的原因在/ Library目录中,而不在User文件夹中。在安全模式启动期间禁用了很小的事情清单,包括/ System / Library / Extensions,/ Library / StartupItems,尤其是/ System / Library / Fonts之外的任何字体。您的问题一定是这些位置之一。

我有一种奇怪的感觉,您的字体可能已损坏,因为这是一个常见的问题,以奇怪的方式表现出来。您可以尝试此处描述的故障排除策略,该策略主要包括使用Font Book实用程序(Mac OS X附带)验证字体,清除字体缓存并删除所有重复项。

如果字体不是问题,那么前面的讨论将提供有关如何禁用错误的启动扩展名和登录项的详细信息。这是将所有可疑内容清除,然后逐点添加回去直到找到罪魁祸首的问题。

我认为您已经接近解决方案,请在破解后告知我们。


谢谢,我会尝试修复权限并创建一个新用户,这没想到。我会让你知道怎么回事。
alexcoco 2012年

我创建了一个新帐户,尽管在安全模式下似乎还可以,但似乎也发生了同样的事情。关于安全模式下有什么不同的任何线索?
alexcoco

很有意思!我会看看这些事情,并尽快回复您!
alexcoco 2012年

1

您是否尝试过苹果论坛上的此修复程序。用户通过卸载他发现导致问题的打印机驱动程序来解决该问题。

您也可以尝试禁用“唤醒网络访问”选项


我想我在某个时候读过该打印机驱动程序,但是我没有尝试卸载任何打印机驱动程序。我会尝试的。我相信我也已经禁用了唤醒网络访问选项,但是无论如何我都会仔细检查,谢谢。
alexcoco 2012年

我还要再次提及,以安全模式启动时它确实会休眠。如果打印机驱动程序引起了这种情况,但没有以安全模式启动(我认为这很可能),则可能是问题所在。
alexcoco 2012年

另外,据我了解,有些人在安装某些VMWare产品时遇到了问题-因此,即使禁用了网络访问选项,似乎有些程序仍可以唤醒计算机。祝你好运!
OrangeBox'3

我试过pmset -g assertions像那篇文章中所说的那样运行命令,但是我得到的只是最后一个东西的清单,0除了有一个东西EnableIdleSleep 1。我不知道该怎么解释,但对我来说似乎不是一件坏事。
alexcoco 2012年

1

运行以下命令:

pmset -g assertions

并列出所有阻止系统进入睡眠状态的断言及其过程。

每当进程覆盖任何系统电源设置时,pmset将在-g和中列出这些进程及其电源声明-g assertions

通常,当什么都无法阻止macOS进入睡眠状态时,您应该拥有所有0。如果你有1,而不是0某个地方,线可以解释它的原因。

来源:显示睡眠不起作用

您还可以通过以下命令进行检查:

pmset -g | grep -w sleep

例如:

Idle sleep preventers: IODisplayWrangler

如果您找到了导致睡眠无法正常工作的特定原因,但仍无济于事,请在Google上询问或提出带有输出特定详细信息的新问题。或者只是重新启动计算机,看看是否有帮助。



故障排除

  • 检查所有系统范围和内核断言中是否通过出现的进程,pmset -g assertions并杀死或重新启动您认为可能是问题原因的进程。
  • 禁用WiFi或可能出现在内核声明列表中的任何其他网络。

    $ pmset -g assertions
    // ...
    Listed by owning process:
       pid 343(Google Chrome): [0x0000003600018115] 05:02:36 NoIdleSleepAssertion named: "WebRTC has active PeerConnections" 
    // ...
    Kernel Assertions: 0x100=MAGICWAKE
       id=501  level=255 0x100=MAGICWAKE mod=01/01/1970, 01:00 description=en0 owner=en0
    
  • 断开所有外部设备(USB,SD卡,蓝牙设备等)的连接。

    $ pmset -g assertions
    Assertion status system-wide:
    // ...
       ExternalMedia                  1
    // ...
    Listed by owning process:
       pid 73(powerd): [0x0000000600088007] 05:03:24 ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 
    // ...
    
  • 通过以下方式运行断言日志:pmset -g assertionslog,关上盖子并阅读日志。

  • 如果您希望休眠而不是标准睡眠模式,请使用pmsetverify hibernatemode进行设置,默认情况下,应将其设置为3

    pmset -g | grep -w hibernatemode
    

    否则设置为3(您也可以考虑25):

    sudo pmset -a hibernatemode 3
    

    有关man pmset详细信息,请参见:和。

    警告:我们不建议您修改休眠设置。您所做的任何更改均不受支持。如果您仍然选择这样做,则建议使用以下三种设置之一。为了您和我的缘故,请不要使用0、3或25以外的任何符号。

    hibernatemode = 0(在支持的桌面上)默认(二进制0000)。系统不会将内存备份到持久性存储。系统必须从内存内容中唤醒;系统将失去有关断电的信息。从历史上看,这是普通的老睡眠。

    hibernatemode = 3(在支持的便携式计算机上)默认(二进制0011)。系统会将内存副本存储到永久性存储(磁盘)中,并在睡眠期间为内存供电。除非断电迫使系统从磁盘映像还原,否则系统将从内存中唤醒。

    hibernatemode = 25(二进制0001 1001)只能通过pmset设置。系统会将内存副本存储到永久性存储(磁盘)中,并切断内存电源。系统将从磁盘映像还原。如果要“休眠”-更慢的睡眠,更慢的唤醒和更长的电池寿命,则应使用此设置。

  • 要检查显示器的当前状态(低于4表示它已经处于睡眠模式):

    pmset -g powerstate IODisplayWrangler
    
  • 要使显示从命令行进入休眠状态,请运行:

    pmset displaysleepnow
    # or:
    osascript -e 'tell app "System Events" to sleep'
    

    唤醒显示器:

    caffeinate -u -t 1
    

另请参阅:pmset-示例用法如何使Mac休眠


0

这是我设法纠正MBP的唤醒/睡眠问题的方法(09年初)

当我重新打开盖子时,它从未重启。

仅在因锅盖关闭而从睡眠中醒来时发生。

我使用的解决方法是关闭“自动调整亮度”(“系统偏好设置”->“显示”)。从那以后没有再发生过-试试看,看看你怎么走。


我的问题是相反的。当您打开盖子时,它会从睡眠状态中唤醒,但如果您只是合上盖子,则不会进入睡眠状态。你看过我的问题吗?
alexcoco 2012年

0

我有这个问题很长时间了。

您需要转到:>系统偏好设置>共享

然后,您需要关闭 Web共享Internet共享屏幕共享

如果这些方法不起作用,请尝试关闭其他共享选项。


我没有启用共享选项。到目前为止,我已经尝试过PRAM重置,SMC重置,禁用所有共享和蓝牙选项。
alexcoco 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.