java高级开发

MacBookPro耗电解决

2020-05-18  本文已影响0人  老鼠AI大米_Java全栈

升级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 来验证是否执行脚本
上一篇下一篇

猜你喜欢

热点阅读