2013late macbookpro 睡眠之後耗電非常高的問題?
周五下午下班的時候 點選左上角蘋果菜單-睡眠按鈕睡眠,然後合蓋。周一打開機器之後發現電池完全耗盡。
經過查找資料之後知道可以透過修改pmset命令來改變休眠模式。然後大致看了一下 說是默認的休眠模式是模式3,這個模式會在睡眠之後繼續對內存供電直到電池耗盡之前將所有內容存入硬碟然後轉入deep sleep。將休眠模式修改為1之後又會出現就算只是短時間合蓋也會將所有內容寫入硬碟的情況(又慢不說還損耗SSD)。有沒有折中的方法就是將mac的休眠模式設置和win一樣(短時間合蓋將內容存入內存,然後只對內存供電,超出一定時間之後將內容存入硬碟然後徹底關機)
題主的問題我也碰到了,之前休眠一夜8h左右會消耗大約13%的電量。昨天晚上上網搜索了下,然後對我的Macbook pro late 2013改了模式,今天早上醒來後看電量消耗也就1%,非常滿意,特將此方法與樓主分享。主要參考資料來源於技術貼—Mac OS電源管理大解析,2013款Air遇到睡眠問題的看過來!!!我只是將他總結了下:
1. 在終端輸入:pmset -g custom2. 輸入後會顯示電腦的電源設置。前面的是設置選項,後面的數字表示開關或者時間。而我更改的只有以下幾個: hibernatemode 睡眠模式 sleep 睡眠--即閑置多久後進入睡眠,單位分鐘 displaysleep--即閑置多久後顯示器關閉(睡眠),單位分鐘 disksleep--即閑置多久後硬碟關閉(PS,原帖認為這個單位是秒,但是根據我的設置感覺是分鐘。。不知道對不對)3. 下面輸入命令sudo pmset -b displaysleep 5---在使用電池時,將顯示器關閉時間改為5
sudo pmset -b disksleep 10---在使用電池時,將硬碟關閉時間改為10 sudo pmset -b sleep 15---在使用電池時,將睡眠時間改為15 也就是說,從時間上(後綴輸入的數字),sleep&>=disksleep&>=displaysleep 最後更改睡眠模式,sudo pmset -b hibernatemode 0然後就全部OK了,希望能幫到你。我補充下Howard Wang 的, 如他所說的設置為什麼省電, 其實他的設置依然是會將內存中的數據刷入硬碟中,一樣是損害硬碟, 然後會進入待機狀態, 前面設置了那麼多個時間只是然並卵, 那些設置項在 系統設置-&>節能器 上都能找到哦.
雖然有人將 hibernatemode 設置 為0, 但不代表就不會睡眠後就不會寫ssd了, 其實os x的睡眠時將內存中的數據寫入硬碟是根據 hibernatemode standby autopoweroff 這3個選項決定的, 單單設置了hibernatemode = 0 並不會最終改變寫入硬碟這個動作. 舉例 當 hibernatemode = 0 (休眠不寫入硬碟) , 但standby = 1時(表示待機模式), 在standbydeplay(待機前的機器空閑時間,秒為單位) 時間內, 內存中的數據不會寫入到硬碟, 但是當達到standbydeplay的時間後, 內存中的數據就會被強制寫入到硬碟中, 並進入待機模式,此時就會開始省電! 如你所見,你一晚上只掉1%,就是這個的功勞,但是你的硬碟仍然寫入了內存數據.而當autopoweroff=1(自動關機) 時, autopoweroffdelay(自動關機前的機器空閑時間,秒),機器會自動關機,徹底的省電了.
所以想要不傷害硬碟, 但又要省電的方法是不存在的, 不想傷害硬碟,那就只能傷害內存,就必須得給內存持續通電, 自然會費電, 這個是必然的,並不是什麼問題, 就看你的取捨了. 如果你想完全不傷害硬碟,那就這樣設置,:sudo pmset -a hibernatemode 0
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0
但是你的耗電就會提高,一天待機應該會掉個20%.
建議用蘋果默認的就可以了, 蘋果默認的策略不是隨便設置的,而是經過大量實驗做出大眾折中的,不太傷機器又能高效的工作的模式. 當然你可以自己diy,但是一定要搞懂原理,否則就白忙活了.知乎不支持MarkDown格式,蠻看著吧
# MacBook Pro Retina 睡眠耗電現象修復
經過測試,MacBook Pro (Retina, Mid 2015)在盒蓋睡眠的時候會頻繁的被喚醒,導致夜間掉電比較嚴重(有的網友一個晚上掉電10%以上),根據`"syslog | grep -i "Wake reason"`顯示,也是有被頻繁喚醒的記錄,雖然掉電沒有他們的那麼嚴重,研究了一下各路的解決方案,找到了最終的一個解決方案
如果你在終端中輸入 `"syslog | grep -i "Wake reason"`有像下面的情況的,那麼就請注意了,因為這個問題似乎已經存在一段時間了,並且問題集中在2015年後的機型上,網上有挺多討論的,並且在最新的系統(**macOS Sierra 10.12.1 (16B2657)**),蘋果並沒有修復這個問題,只能靠我們自己來手動解決了
**升級到macOS Sierra**之後,被喚醒的情況有所好轉,Sierra在休眠之後會自動禁用掉WiFi連接,但是還是會被喚醒
![syslog](http://ww3.sinaimg.cn/large/006y8mN6gw1f9fehqz351j31d212yao8.jpg)
# 產生問題的原因
論壇上大部分的回答都是集中在**app喚醒**,**Power Nap**,**網路喚醒**,**重置SMC**等解決方案,如果你嘗試了上面的各種辦法還是沒有解決的話,可以繼續往下讀
我們通過分析系統日誌(上圖)就可以看到,我們的機器被TCP超時頻繁的喚醒,所以,最簡單的解決辦法就是每次在盒蓋前,把**WiFi**手動斷開就可以,如果是不愛折騰的同學可以考慮考慮.也就動動手關掉WiFi嘛
# 解決問題
既然我們知道,導致休眠失敗的原因是網路頻繁被喚醒,那麼要嘛手動關閉網路,要嘛自動關閉網路,如果有個工具,可以檢測系統休眠狀態,並且對其進行WiFi的切斷與喚醒就好了.
正好我發現了這篇文章
[A Macbook Pro"s insomnia solution](Kevin De Koninck PleaseSleep)這位外國友人的解決方案,正是我上面說的,通過`sleepwatcher`來監聽系統休眠情況,並且對其WiFi進行操作
# 手動擋司機
首先,得先安裝`sleepwatcher`,這裡推薦使用brew形式來安裝,如果還沒有用上`brew`的同學,[請點擊獲取Homebrew](Homebrew — The missing package manager for macOS)
在終端中輸入`/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`隨後安裝`sleepwatcher`執行下面語句`brew install sleepwatcher`
`SleepWatcher`默認執行`wake`事件配置文件是在`~/.wakeup`,執行`sleep`事件配置文件是在`~/. sleep`所以我們將下面兩個腳本複製到用戶目錄下
**.sleep**
```shell
#!/bin/bashstatus=$(networksetup getairportpower en0 | grep -Ei "On$")
if [ -f /tmp/wifi.on ]; then
rm /tmp/wifi.onfiif [ "" != "$status" ]; then
echo "`date` -- WiFi is On ... storing statement" &>&> /tmp/sleep.logtouch /tmp/wifi.on
networksetup setairportpower en0 offfi```
**.wakeup**
```shell
if [ -f /tmp/wifi.on ]; then echo "`date` -- Enablig WiFi" &>&> /tmp/sleep.log sleep 3 networksetup setairportpower en0 onfi```最後執行,令上面兩個腳本生效,省得重啟
```
cp /usr/local/Cellar/sleepwatcher/2.2/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist```關於腳本的解釋,可以看原文
![](http://ww3.sinaimg.cn/large/006y8mN6gw1f9ffv844zyj30ue0mojx1.jpg)# 自動擋用戶
作者本人也是寫了一個shell腳本來幫助大家,只需要根據`README`寫的步驟來執行shell,就可以完成安裝.
下載解壓後進入該目錄,在終端輸入
`bash PleaseSleep install`等待安裝完成
如果日後需要刪除的話,在終端輸入
`bash PleaseSleep uninstall`下載地址:http://7xvzr6.com1.z0.glb.clouddn.com/PleaseSleep.zip
# 相關閱讀
可以參考下面幾篇文章,對這個問題有個整體的認識
[MacBook Pro Retina 睡眠耗電現象深究](MacBook Pro Retina 睡眠耗電現象深究)
[關於休眠耗電問題求助](關於休眠耗電問題求助,Mac OS X 討論區-MacX.cn -)
[A Macbook Pro"s insomnia solution](Kevin De Koninck PleaseSleep)
[rMBP 2015 Wake Reason: ARPT (Network)](https://discussions.apple.com/thread/7010693?start=180tstart=0)其實一切問題的根源還在於節能設置裡面的power nap,我從一個台灣論壇上找到了該問題的答案
新版系統的power nap有bug,看似沒選中,其實是選中了的,只要把power nap打開然後再關閉一下就可以了,本人親測,一晚上沒掉1個電,之前也一直被這個問題困擾了。
關wifi
是不是沒關滑鼠啊。藍牙滑鼠沒關電源的話合蓋非非非非常耗電。我的情況是這樣,因為我剛買回滑鼠不太喜歡關的時候就突然發現電腦合蓋後耗電非常快,當然,你滑鼠不關電,關電腦藍牙也可以,不過建議還是關滑鼠電源比較好。
我的MacBook Pro是2017版的,一晚耗電在百分之20左右,上述的方法太過冒險,我不敢亂弄,請問大神有沒有好的方法,我已經關了powersleep
都說10.12有這個問題,咱的2013款MacBook air裝著10.10.5也中槍了啊……
我覺得可能是裝了太多插件的問題,但是以前也裝了很多插件合上蓋子以後也是一晚上只掉一點點電啊……
感覺是更新了什麼不得了的安全補丁才出現的這個問題
那個修改不了,重啟運行又恢復為0了其次,目前為止現在按照樓上的指示都操作了一遍,包括修改指數,重置SMC,待機時關閉Wi-Fi,均無效。很奇怪的,待機時間大概一小時左右,電量掉到82%,而且電腦非常燙。讓我非常疑惑求大神指導————————————————————————————————天哪……已經看暈了,還是不知道怎麼辦
多謝Howard Wang的方法!但在我自己的macbook air 2013上嘗試此方法後沒有解決問題。考慮到以前出現過系統管理控制器 (SMC)的問題,而SMC又和電池、待機等有關,於是便重置了SMC。重置之後待機耗電的問題得到了解決。一晚上(8小時)耗電少於1%。建議大家先按照Howard Wang的方法修改電源設置,如果沒有效果的話可以嘗試重置SMC。重置方法如下:
參考資料:重置 Mac 上的系統管理控制器 (SMC)
- 在裝有不可拆卸電池的 Mac 筆記本電腦上
裝有不可拆卸電池的 Mac 筆記本電腦包括:MacBook Pro(2009 年初)及更新機型、所有型號的 MacBook Air、MacBook(2009 年末)和 MacBook(Retina 顯示屏,12 英寸,2015 年初)。
要重置 SMC,請執行以下步驟:
- 關閉電腦。
- 將 MagSafe 或 USB-C 電源適配器連接到電源和電腦。
- 在內置鍵盤上,同時按下(左側)Shift-Control-Option 鍵和電源按鈕。
- 同時鬆開所有鍵和電源按鈕。
- 按電源按鈕打開電腦。
重置 SMC 時,MagSafe 電源適配器上的 LED 指示燈可能會更改狀態或暫時關閉。
- 在裝有可拆卸電池的 Mac 筆記本電腦上
型號較舊的 MacBook 和 MacBook Pro 電腦裝有可拆卸電池。了解如何拆卸 MacBook 和 MacBook Pro的電池。
要重置 SMC,請執行以下步驟:
- 關閉電腦。
- 如果連接有 MagSafe 電源適配器,請將其從電腦上拔下。
- 取出電池。
- 按住電源按鈕五秒鐘。
- 鬆開電源按鈕。
- 重新連接電池和 MagSafe 電源適配器。
- 按電源按鈕打開電腦。
我也補充一下,試了樓上幾位的辦法還不行的,可以嘗試一下我的辦法。
由於在別的問題下回答過了,供參考 更新Mac sierra電池使用的剩餘時間明顯減少,大家都是這樣么?簡單來說就是關閉 autopoweroff 。推薦閱讀:
※Steam 開展春節特價活動之後,有哪些 Mac 遊戲值得收藏?
※如何評價 Visual Studio for Mac 正式版?
※Mac 安裝 App 常用的渠道是什麼?有什麼好的方法呢?
※MacBook Pro with Retina Display體驗真有那麼驚人嗎?
※請問 ThinkPad X1 2015 新款相比 Macbook Pro 具有可比性么?
TAG:MacBookPro | MacBook | macOS |