Macbook 合盖掉电(休眠掉电)解决方法


Macbook在合盖之后还在掉电,第二天打开一看,只有40%的电量。针对合盖掉电的问题可能有以下解决方法。

1、重置Mac的SMC

根据苹果官方的提示,重置爱SMC可以解决某些电源,电池,风扇相关的问题。重置方法如下:
https://support.apple.com/zh-cn/HT201295

苹果官方针对不同型号的电脑都给出了相关的设置方法。根据教程设置后可能可以解决相关的问题。

2、在终端中修改电源选项

合盖后关闭网络唤醒:
sudo pmset -b tcpkeepalive 0



减小合盖后数据在内存中保留的时间(默认8个小时 = 28800秒)
sudo pmset -b standbydelay 14400



减小装数据写入硬盘彻底断电的时间
sudo pmset -b autopoweroffdelay 14400



修改休眠模式
sudo pmset -b hibernatemode 25



需要说明的是,修改为25之后,唤醒会稍微变慢,大约需要4~5s,介意者可修改为3

注意以上操作都需要在敲入命令后输入自己的开机密码然后按回车。

详细版本

在终端中输入pmset -g,查看相关的电源设置(power managment settings,电源管理设置的意思);在插电源使用时看到的是插电源状态下的设置,合盖掉电应该是电池状态下的问题,建议拔掉电源后再输入指令。
System-wide power settings:
Currently in use:
 lidwake              1
 autopoweroff         1
 standbydelayhigh     86400
 autopoweroffdelay    28800
 proximitywake        0
 standby              1
 standbydelaylow      10800
 ttyskeepawake        1
 hibernatemode        25
 powernap             0
 gpuswitch            2
 hibernatefile        /var/vm/sleepimage
 highstandbythreshold 50
 displaysleep         5
 sleep                5 (sleep prevented by timed)
 acwake               0
 halfdim              1
 tcpkeepalive         0
 disksleep            10



输入pmset -g后会输出现在相关的状态信息,我这里把出现的各个项目按顺序简要说明一下。

lidwake – 当笔记本打开盖子的时候唤醒机器(值为 1 或者 0)
autopoweroff – 系统将写入休眠镜像并且进入到低电量芯片组睡眠。从这个状态唤醒所花的时间要比普通休眠唤醒的时间要长。如果有外部设备连接,系统不会自动切断电源,如果系统使用电池供电,或者系统被绑定在网络并且通过网络访问被唤醒功能开启。
standbydelayhigh - 当电源电量够高时,合盖后内存保留的秒数
autopoweroffdelay – 进入自动切断电源模式的延迟(值为表示分钟的整数)
proximitywake - 同 iCloud 设备唤醒
standby - 合盖后保留内存(值为0或者1)
standbydelaylow - 电池电量低时,合盖后内存保留的秒数
ttyskeepawake – 当任何 tty(如:远程登录会话) 在活动状态时,阻止系统空闲睡眠。tty 只能是非活动 当它的空闲时间超过系统睡眠计时器(值为 1 或者 0)
hibernatemode – 改变休眠模式
powernap - 电源小憩(0或1)
gpuswitch - gpu支持(2为自动模式)
hibernatefile – 改变休眠镜像文件位置。镜像应该只被定为到根卷中。请小心使用(值为路径)
highstandbythreshold - 电池剩余电量百分比 standby模式的选择阈值,一般为50%
displaysleep – 显示器睡眠计时器;替换 10.4 版本中的 dim 参数(值为分钟,或者设置 0 来禁用)
sleep – 系统睡眠计时器(值为分钟,或者设置 0 来禁用)
acwake – 当电源(AC 或者电池)改变的时候唤醒机器(值为 1 或者 0)
halfdim – 显示器睡眠将使用在最大亮度和关闭显示器之间的中间亮度(值为 1 或者 0)
tcpkeepalive - 合盖时是否保存网络连接
disksleep - 硬盘休眠时间(值为分钟)



为了便于大家理解,我把Mac休眠过程的示意图给大家。
在合盖之后,或者长时间不操作电脑之后,系统将进入等待休眠的模式,在sleep的时间之后,依据hibernatemode的模式不同,会进入不同的休眠模式。

依据Mac的休眠流程,我们主要需要修改的参数有以下几个: sleep,hibernatemode,提高standby的电量阈值;tcpkeepalive设置为0,合盖后中断网络链接;proximitywake设置成 0, 关闭被同一网络下的同 iCloud 设备唤醒。

这里需要对hibernatemode的不同参数说明一下。

hibernatemode = 0
//iMac, Mac Mini等 Mac桌面设备默认参数
//持续向内存供电,将数据保留在内存
//唤醒速度快,减少硬盘占用
//数据有丢失风险
//耗电量大
//hibernatemode = 25
//将数据写入硬盘
//不向内存供电,将内存镜像直接写入硬盘
//数据不易丢失,镜像占用硬盘空间
//唤醒速度慢
//耗电量少
//hibernatemode = 3
//MacBook 笔记本设备默认参数
//safe sleep, 数据既写入内存又写入硬盘
//持续向内存供电
//唤醒时,根据设备电量自动选择从 内存/硬盘 恢复



依据以上参数含义,我们将电池供电下的状态设置如下:

// 5 分钟后进入休眠
sudo pmset -b sleep 5
// 向硬盘写入镜像,不向内存供电
sudo pmset -b hibernatemode 25
// 显示器休眠时间:15 分钟
sudo pmset -b displaysleep 15
// 硬盘休眠时间:30 分钟
sudo pmset -b disksleep 30
// 休眠时断网
sudo pmset -b tcpkeepalive 0
// 高电量下 standby: 4小时
sudo pmset -b standbydelayhigh 14400
// 低电量下 standby: 2小时
sudo pmset -b standbydelaylow 7200
// standby 电量阈值:75%
sudo pmset -b highstandbythreshold 75
// 开盖唤醒
sudo pmset -b lidwake 1
// 关闭被同一 iCloud 下的设备唤醒
sudo pmset -b acwake 0



经过以上设置之后,应该就可以减少合盖后Mac的掉电情况。实测掉电很少,一晚上大约1%吧。希望以上内容可以对大家有所帮助,谢谢大家。


1个月前 阅读:82 评论:0

青锋幽灵

゛. - 看過世间最冷漠滴眼神,  爱過⒈生最无缘滴人﹎

评论 More..

该页面还没有任何评论,赶快占个沙发吧!

登录 注册

您没有登录,如果还不是会员请先注册

文明上网,理性发帖!


顶部