Mac Bug之三 不能睡眠,能睡眠时又自动唤醒

因为有时os x系统sleep的时候会自动唤醒,隔一会再sleep,隔一会再自动唤醒,不断的切断硬件电源、再接通电源,等于一个夜里就重启100多次,mac的寿命可想而知

于是有了下面的研究、参数的测试、推荐的设置

Apple公司默认设定如下:

10分钟后关闭显示器、硬盘

1分钟后sleep

sleep 4小时后进入poweroff

sleep 3小时后进入standby

那么使用系统设置里的Energy Saver和pmset命令的区别在哪?

pmset modifies the same file that System Preferences Energy Saver modifies.

autopoweroff,man里有说明

the system will write a hibernation image and go into a lower power chipset sleep.

系统产生休眠文件,进入低耗电模式,关闭除内存外的硬件

The system will not auto power off if any external devices are connected, if the system is on battery power, or if the system is bound to a network and wake for network access is enabled.

系统不会进入power off模式,如果有任何外设在连接状态,如果在使用电池供电,如果有网络活动同时开启了网络唤醒

standby,仍然看man的说明

writing the hibernation image to disk and powering off memory for Standby

把休眠文件写入硬盘,并且关闭内存

standby only works if hibernation is turned on to hibernatemode 3 or 25

为3或25才能standby

情形1

在电源模式下,选中第一项,取消第二三四项的情况下

a 点击Sleep,会自动唤醒

b 合盒子,有时不会自动唤醒,用测试程序发现10分钟和4小时10分钟的两个时间点都有一次唤醒,即displaysleep和autopoweroffdelay

c 合盒子,有时不会睡眠,直至拨了电源、离开蓝牙键盘和trackpad

情形1的结论:

在电源供电 而且有蓝牙、有wifi连接的情况下,居然在sleep 4小时的时候执行了一次poweroff,与苹果公司的声明的"系统不会进入power off模式,如果有任何外设在连接状态,如果在使用电池供电,如果有网络活动同时开启了网络唤醒" 完全相悖

不会睡眠 或者自动唤醒连显示器都亮了 是许多人遇到的bug

看看网上的反馈,os x的bug很多,而且不出现问题一切很好、出现问题多数情况下是无法解决的

情形2

全局设定

sudo pmset restoredefaults

sudo pmset -a womp 0 darkwakes 0 lessbright 0 halfdim 0 autopoweroff 1 standby 1

sudo pmset -a displaysleep 1 disksleep 0 sleep 0 autopoweroffdelay 7200 standbydelay 180000

有效 1分钟后显示器关闭,短期没有再亮(时间不准,可能不是按秒计数的,最多误差1分钟而已)

sudo pmset -a displaysleep 0 disksleep 1 sleep 0 autopoweroffdelay 7200 standbydelay 180000

看不到效果 无法测试(能证实的就是在保持写入的情况下没有关闭)

sudo pmset -a displaysleep 0 disksleep 1 sleep 1 autopoweroffdelay 7200 standbydelay 180000

无效 等了3分钟还没有睡眠

sudo pmset -a displaysleep 1 disksleep 1 sleep 1 autopoweroffdelay 7200 standbydelay 180000

有效 1分钟后显示器关闭,2分钟后测试脚本停止,Sleep至少持续3分钟 未出现自动唤醒(然后被手动唤醒)

sudo pmset -a displaysleep 1 disksleep 2 sleep 1 autopoweroffdelay 7200 standbydelay 180000

有效 1分钟后显示器关闭,2分钟后测试脚本停止,Sleep至少持续3分钟 未出现自动唤醒(然后被手动唤醒)

sudo pmset -a displaysleep 1 disksleep 1 sleep 3 autopoweroffdelay 7200 standbydelay 180000

有效 1分钟后显示器关闭,4分钟后测试脚本停止,Sleep至少持续3分钟 未出现自动唤醒(然后被手动唤醒)

sudo pmset -a displaysleep 1 disksleep 1 sleep 1 autopoweroffdelay 180 standbydelay 180000

看不到poweroff效果 可能无效 因为如果笔记本电脑要进入待机模式,则其必须使用电池电量供电,且没有任何外部连接(如以太网、USB、Thunderbolt、SD 卡、显示器、蓝牙等)。

sudo pmset -a displaysleep 1 disksleep 1 sleep 0 autopoweroffdelay 180 standbydelay 180000

无效

sudo pmset -a displaysleep 1 disksleep 1 sleep 0 autopoweroffdelay 120 standbydelay 180000

sudo pmset sleepnow

sleep有效,poweroff看不到效果

sudo pmset -a displaysleep 1 disksleep 1 sleep 0 autopoweroffdelay 120 standbydelay 180000

合盖子

sleep有效,poweroff应该是无效,测试脚本显示没有出现之前情形1的4小时一次唤醒动作(又是一bug,同样的合盖子,没有出现预期的poweroff唤醒一次)

sudo pmset -a displaysleep 1 disksleep 1 sleep 0 autopoweroffdelay 7200 standbydelay 120

sudo pmset sleepnow

sleep有效,standby应该是无效,测试脚本显示没有出现唤醒动作

情形2的结论:

displaysleep 有效

disksleep 无法测试, 官网上声明仅适用于外部连接的机械驱动器

sleep 浅睡眠模式,必须在前两者已经sleep才有效,时间从显示器sleep之后再开始计时,sleep时立即写hibernatefile

poweroff 深睡眠模式

standby 深睡眠模式

两个深睡眠模式, 笔记本电脑要进入待机模式,则其必须使用电池电量供电,且没有任何外部连接(如以太网、USB、Thunderbolt、SD 卡、显示器、蓝牙等)。但是有bug的时候连着电源、usb设备、wifi也会执行poweroff,因为mac os x的bug很多

面对bug很多无法解决的os x,勉为其难的设置:

sudo pmset restoredefaults

先关闭网络唤醒等,10分钟关闭显示器,打开深睡眠模式

sudo pmset -a womp 0 darkwakes 0 lessbright 0 halfdim 0 displaysleep 10 disksleep 10 autopoweroff 1 standby 1

无操作2小时sleep,sleep后50小时standby,sleep后51小时poweroff,电池模式下为21分钟sleep

sudo pmset -a sleep 110 autopoweroffdelay 183600 standbydelay 180000

sudo pmset -b sleep 11

时间: 2024-08-25 23:56:00

Mac Bug之三 不能睡眠,能睡眠时又自动唤醒的相关文章

PL/SQL Developer中输入SQL语句时如何自动提示字段

在PL/SQL Developer中编写sql语句时,如果无法自动提示字段那是一件痛苦的事情,工作效率又低,在此演示下如何在PL/SQL Developer工具中自动提示字段,让开发者省时又省心,操作步骤如下:tools–>preferences–>user interface–>code assistant–>在右边选中authomatically activated即可,如 PL/SQL Developer中输入SQL语句时如何自动提示字段,布布扣,bubuko.com

功能:赋值时类型自动的转换

#include<stdio.h> main() { int a,x; float f; a=3.9; f=12; x='A'; printf("a=%d,f=%f,x=%d\n",a,f,x); } 功能:赋值时类型自动的转换,布布扣,bubuko.com

如何让delphi在启动时不自动创建空的工程?

如何让delphi在启动时不自动创建空的工程? ?? <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> "C:\Program Files\Borland\Delphi6\Bin\delphi32.exe" -np 如何让delphi在启动时不自动创建空的工程?,布布扣,bubuko.com

如何让delphi在启动时不自动创建空的工程?并且改变默认工程目录?

如何让delphi在启动时不自动创建空的工程? ‍ 在属性的目标最后加 空格,-np. "C:\Program Files\Borland\Delphi6\Bin\delphi32.exe" -np 如何更改新建工程的默认目录? 目标的下面就是起始位置,改为你需要的目录即可. http://www.cnblogs.com/azhqiang/p/3778433.html

怎么让手机浏览器和微信焦点在文本输入框时不自动放大页面

方法一:禁止页面缩放 在head标签中加入以下代码 <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0, user-scalable=no"> content的解释 width=device-width //宽度等于设备屏幕宽度 initial-scale=1.0 //初始缩放比例 minimum-

Activiti+oracle 启动项目时不能自动建表或更新表的问题分析及解决办法

现象描述:按照正常配置,第一次启动时不能自动建表 关键配置片段如下: <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSource" /> <property name=&q

【极品代码】一般人我不告诉他,手机端h5播放时不自动全屏代码

已测适用于ios,某些安卓手机微信下播放视频会出现播放器控件(这个实在是无力吐槽了,因为之前还遇到过微信播放完视频后竟然无法退出全屏出现广告的情况,只有播放完后刷新页面并且要放到框架页里才能屏蔽微信视频广告!),之前用canvans渲染,感觉不够太完美,又弄成背景切换形式得(用背景切换形式可以完美解决当一个容器有transform:rotate(90deg)属性时自适应百分比问题,若是canvans需去计算高宽太麻烦还需考虑不同系统). 想要手机端h5播放时不自动全屏比想象的简单,看加粗部分,一

在编辑Spring的配置文件时的自动提示

打 开MyEclipse—>Windows--->referenecs——>General,选择下面的Keys,这就是快捷键的设 置,可将Content Assist的快捷键改为 Alt+/ ,然后将command为word completion 的改为其他的快捷键,这样就OK了,在Spring的配置文件中敲代码时想要获得帮助时按住 Alt+/ 便会出现帮助 比如再输入<property name="maxIdle"></property>时,

关于JLable列表的自动滚动条的显示:当JLable列表的内容超出JPanel面板所规定的高度时,自动显示滚动条的方法

关于JLable列表的自动滚动条的显示:当JLable列表的内容超出JPanel面板所规定的高度时,自动显示滚动条的方法: 通过下面的方式把JLable表的宽度和高度锁死,不能根据列表内容的增加而自动出现滚动条: JPanel tablePanel = new JPanel(); JScrollPane jScrollPane1 = new JScrollPane(); JTable teacherTable = new JTable(); //表 teacherTable.setMaximum