wp.bmemo.pw

自分のための覚書・備忘録

Macでスリープ時にバッテリーが減る現象を改善する方法まとめ

   

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrPin on Pinterest

El capitanから?よくわからないけどMacのスリープ中にバッテリーがモリモリ減る現象が出るようになった。夜100%、朝80%とかになってたり。MBA2012モデル使ってたときは夜100%朝100%ってくらいスリープ時にバッテリーは減らなかったので、直したいなあと思ってました。原因はいくつかあるので1つずつ潰してみたいと思います。


Power Napの設定を確認する

システム環境設定 -> 省エネルギー -> バッテリー の項目で

「バッテリー電源使用中にPowerNapをオンにする」にチェックが入っていないか確認してください。

スリープ中勝手に起きて更新やらなにやらを確認する設定です。自分の環境では既にオフ状態でした。

詳細な電源設定を確認する

バッテリー電源で動作させているときに以下のコマンドを実行します

こんな感じの結果が出力されたでしょうか。

  • stanbydelay
    • カバーを閉じてから、スタンバイモードに突入する時間です(秒)デフォルトは10800秒
  • hibernatemode

stanbydelay を1800秒(30分)にしました。10分程度の離席ならまだ良いけど30分以上だったらスタンバイしてて低エネルギー状態になって欲しいので。

変更を反映するには以下のコマンド

pmset -a に続いて項目名と値書けばOK

SDカードを挿しっぱなしにしていないか

SDカードを挿しっぱなし(マウント)状態にするとスタンバイモードになりません。Macを閉じる場合はSDカードを取り出すか、以下の方法でスリープ前にSDカードを自動アンマウントしましょう。

【スクリプトで】Mac でスリープ時にSDカードを自動アンマウントさせる


スリープ時にもネットワーク接続を許可するオプションを確認

このコマンドを打ってみてください。

スリープ中に復帰した時間と理由が出てきます。

夜使用していないときのログに注目してみてください。以下のようなログが見つかりましたか?

2時間ごとにスリープから復帰しています。

それでは以下のコマンドも打ってみましょう

TCPKeepAliveDuringSleep・・・とても怪しい。スリープ中にネットワーク接続を保持する設定ですね。寝るんならしっかり寝てほしい派なのでこれをオフにします。

SIPをオフに

この設定はSIPをオフにしないと変更できませんのでSIPをオフにします。

SIPオフの仕方は以下を参照してください。(Sierraでも同じ操作です)

Mac OS X El CapiptanでSIPを無効化する

再起動したら以下のコマンドを打ってsipがdisableなのか確認します。

TCPKeepAliveDuringSleepをオフに

SIPをオフにしたらまずはボードIDを取得します。私の場合はこうでしたね。

/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-【ボードID】.plist を編集します

「TCPKeepAliveDuringSleep」、「NotificationWake」、の項目は【false】に。「DNDWhileDisplaySleeps」の項目を【true】にして保存します。インデントは合わせてください。

編集できたら再起動しましょう。

12時間スリープで1%消費まで改善

12時間スリープさせて1%の消費で収まるようになりました。バッテリーにも精神的にも易しい。でめたしでめたし。

 - Mac