0
点赞
收藏
分享

微信扫一扫

MacBookPro耗电解决

前程有光 2021-09-23 阅读 139

系统版本

pmset关闭网络

可能是待机时依然链接网络导致的。如果不需要待机时链接网络可以执行,主要是Find My MAC的功能使用,你关闭的时候,也会提醒
输入pmset -g

sudo pmset -b 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 来验证是否执行脚本

阻止睡眠问题

输入pmset -g, 可以看到sleep被阻止了。

~ » pmset -g                                                           hans@zzz
System-wide power settings:
Currently in use:
 standby              1
 Sleep On Power Button 1
 womp                 1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 powernap             0
 gpuswitch            2
 autorestart          0
 networkoversleep     0
 disksleep            10
 sleep                0 (sleep prevented by AddressBookSourceSync, configd)
 autopoweroffdelay    28800
 hibernatemode        0
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         60
 tcpkeepalive         1
 standbydelay         10800

其中AddressBookSourceSync表示iCloud数据同步。
解决办法:

  1. 系统偏好设置--icloud--退出登录
  2. 重启系统

参考:
https://www.zccie.com/tools/1621/

举报

相关推荐

0 条评论