升级Mojave后,一晚掉电50%,查阅资料说是系统没有休眠,是因为有唤醒程序影响,可以关闭唤醒程序或关闭wifi和蓝牙。
系统版本
系统版本:MacOS High Sierra 10.14.6
MacBook Pro (Retina, 13-inch, Early 2015)
处理器:2.7 GHz Intel Core i5
内存:8 GB 1867 MHz DDR3
显卡:Intel Iris Graphics 6100 1536 MB
pmset关闭网络
可能是待机时依然链接网络导致的。如果不需要待机时链接网络可以执行,主要是Find My MAC的功能使用,你关闭的时候,也会提醒
sudo pmset -a tcpkeepalive 0
# 若想恢复,可执行
sudo pmset -a tcpkeepalive 1
# log show --style syslog | grep -i "Wake Reason" 查看唤醒日志
# -c 调节设定用于连接充电器的时候
# -b 调节设定用于使用电池(Battery)的时候
# -u 调节设定用于使用 UPS 的时候
# -a 调节设定用于全部情景
pmset设置内存驻留时间
# 合盖后数据在内存中保留的秒数(默认8个小时 = 28800秒)
sudo pmset -b standbydelay 28800
# 装数据写入硬盘彻底断电的时间
sudo pmset -b autopoweroffdelay 28800
pmset设置
pmset 即 Power Managment SETtings
pmset -g # 显示正在使用的设置
pmset -g custom # 显示为所有电源的自定义设置
pmset -g batt # 显示电池的状态
pmset -g stats # 显示自系统启动以来睡眠和唤醒系统的计数。
pmset -g systemstate # 显示当前系统的电量状态和可用能力。
睡眠模式改成 25
#设置电池模式休眠模式为 25
sudo pmset -b hibernatemode 25
#设置电源模式休眠模式为 25
sudo pmset -a hibernatemode 25
0是直接休眠不把内存镜像写入硬盘,唤醒时从内存恢复,是桌面版mac的默认设置; 3是把内存镜像写入磁盘的同时也给内存供电,直到电池临界值。唤醒的时候从内存唤醒,除非内存断电了那就从硬盘唤醒,速度可快可慢,取决于休眠多久,是移动版mac的默认设置;25是把内存镜像写入磁盘,断开内存供电,唤醒的时候从硬盘读取,速度较慢。
通过脚本关闭网络及蓝牙
可以通过工具sleepwatcher监视系统是否休眠。
#安装blueutil,用来通过命令行开关蓝牙
brew install blueutil
#安装sleepwatcher,监控电脑休眠和唤醒时触发执行指定脚本
brew install sleepwatcher
#启动sleepwatcher服务
brew services start sleepwatcher
#通过查看进程可以知道,当触发休眠的时候会执行 ~/.sleep脚本,唤醒的时候执行 ~/.wakeup 脚本
#/usr/local/sbin/sleepwatcher -V -s ~/.sleep -w ~/.wakeup
ps aux | grep sleepwatcher
vim ~/.sleep
1 /usr/local/bin/blueutil -p 0
or /usr/local/bin/blueutil off
2 networksetup -setairportpower en0 off
3 echo "[`date "+%Y-%m-%d %H:%M:%S"`] sleep $?" >> ~/.sleepwatcher.log
vim ~/.wakeup
1 /usr/local/bin/blueutil -p 1
or /usr/local/bin/blueutil on
2 networksetup -setairportpower en0 on
3 echo "[`date "+%Y-%m-%d %H:%M:%S"`] wakeup $?" >> ~/.sleepwatcher.log
chmod +x ~/.sleep
chmod +x ~/.wakeup
#可以查看 ~/.sleepwatcher.log 来验证是否执行脚本
网友评论