美文网首页java高级开发
MacBookPro耗电解决

MacBookPro耗电解决

作者: 老鼠AI大米_Java全栈 | 来源:发表于2020-05-18 14:59 被阅读0次

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

    相关文章

      网友评论

        本文标题:MacBookPro耗电解决

        本文链接:https://www.haomeiwen.com/subject/hfmuohtx.html