« 『MacBook Pro 2015_Retinaディスプレイ 2700/13.3 MF840J/A』の中古を購入してみた | トップページ | ヘッドライトのLED化 »

2022年5月 1日 (日)

【備忘録】スリープ時のバッテリー消耗対策_MacBook Pro 2015 13.3 MF840J/A

最近、Mac OSを知るために、中古のMacBook pro 13.3 (2015モデル)を購入しました。
それで、使い終わって、スリープにして1日ほっておいて、次の日、使おうとMacを起動すると、バッテリーが10%まで消耗していることに!!今までWindows PCを使っていた時は、無かった現象なので、正直焦りました。

今回はその備忘録として、対策方法をメモしておこうと思います。

1

色々調べてみた結果、おそらくですが、下記が原因と推定。

  • デフォルトでは、スリープ移行時、データはメモリに保持され、電源Offも消費電力が大きい。
  • スリープ中でもTCPが有効になり、定期的にパケットを送信し続けている

上記の設定は、システム環境設定のバッテリー設定では、設定変更ができないため、コンソールでコマンド実行による設定変更が必要と分かりました。

【スリープのパラメータの設定】

スリープ等の詳細なパラメータを設定できるコマンド(pmset)を使います。現在のパラメータの設定の確認は、-gオプションを使用します(pmset -g)。
今回の対応には、下記のサイトを参考にさせていただきました。
https://qiita.com/Sak1361/items/66783c5ef91c5767a339

  1. hibernatemode (デフォルト:3 → 今回設定値:25)
    ハイバーネートの設定で、スリープの種類を設定できます。数値は、0 or 3 or 25のいずれかを入力します。各数値における私の認識は下記の通り。

    0:電源Offになるだけ(スリープされないと思われる)
    3:データがメモリに保持され、スリープモードになる。standbydelayで設定された時間経過後にHDDにデータが退避
      され、
    スタンバイモードになる(あまり省電力向きではない)。
    25:最初から、データはHDDへ退避され、すぐにスタンバイモードになる(省電力が期待される)。

    ⇨以上のことから、私は25に変更しました。

  2. tcpkeepalive (デフォルト 1:有効 ⇨ 今回設定 0:無効)
    TCPのキープアライブを有効にするかどうかの設定です。
    この設定を有効にすると、スリープ中でもTCPが有効になり、定期的にパケットを送信し続けるということ。

    ⇨よって、私は0に変更しました。

【コマンドの実行】

下記のコマンドを実行し、上記の1,2の設定変更を完了させました。
オプションの-bは、バッテリー駆動時の設定、-cは、電源接続時の設定変更です。

  1. hibernatemode
    sudo pmset -b hibernatemode 25

    sudo pmset -c hibernatemode 25
  2. tcpkeepalive
    sudo pmset -b tcpkeepalive 0

【コマンド実行結果】

20220426-170710

【結論】

上記設定を実行した結果、スリープを実行しても、ほとんどバッテリーを消費することが無くなりました。
(1日経っても、バッテリー消費は0-1%になりました。)

« 『MacBook Pro 2015_Retinaディスプレイ 2700/13.3 MF840J/A』の中古を購入してみた | トップページ | ヘッドライトのLED化 »

パソコン・インターネット」カテゴリの記事

Macbook」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 『MacBook Pro 2015_Retinaディスプレイ 2700/13.3 MF840J/A』の中古を購入してみた | トップページ | ヘッドライトのLED化 »

2024年3月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31