MacBookのバッテリーを長持ちさせるコマンド

コマンドラインからの設定でMacBookのバッテリーを長持ちさせる方法を紹介します。

iris

6 minute read

バッテリーを長持ちさせる方法は色々あります。 画面の輝度を下げたり、常駐ソフトを減らしたり、早めにスリープさせたりと色々ありますが、 この記事では「コマンドで設定するバッテリーを長持ちさせる方法」を紹介します。

この記事の目次です。

一晩放置すると朝には電池切れするようになった

私は2年前に MacBook Pro を購入して今でもメインマシンとして使用しています。

2年経ったのですが、リチウム電池のバッテリーなので経年劣化が目立ってきました。 MacBook Pro を電源に繋がずにバッテリー駆動で一晩放置すると、 翌朝にバッテリーが0パーセントになってしまうようになりました。

こうなってしまう原因はだいだい予想がつくので対策は容易です。 手軽で効果の大きい対策はスリープモードの変更です。

スリープの種類

MacBook のスリープモードにはいくつか種類があり、

  1. メモリが通電状態 & SSDにメモリの内容をバックアップしない
  2. メモリが通電状態 & SSDにメモリの内容をバックアップする
  3. メモリを解放 & SSDにメモリの内容をバックアップする

の3種類があります。

(1)はバッテリーが底をつけばメモリ上のデータを保持することができなくなるので、 ノートパソコンでは使われないモードだと思います。

(2)はMacBookのデフォルトの設定です。 (1)とは異なり、SSDにメモリの内容をバックアップするので、 万が一バッテリーが切れてもデータを失うことはありません。 メモリも通電状態にしておくのでスリープからの復帰も高速に行うことができます。 安全性と高速性を両立したスリープモードだと言えますが、バッテリーには優しくありません。

(3)が今回の問題の救世主となります。 (2)の状態からメモリを解放してスリープします。 メモリに電気を供給しないため、 3つのスリープモードの中で一番省電力のモードです。 スリープからの復帰時にSSDからデータを読み込むので、 一般的には(2)よりも復帰時間が遅れると考えられます。 私の体感では(2)より(3)の復帰は確かに時間が掛かるのですが、 これでバッテリーの持ちが良くなるのなら気にならないレベルでした。

昔みたいにHDDを利用していれば復帰に大幅に時間を要したでしょうが、 今時はどのノートパソコンもSSDが使われているので速度の面で気になることはありません。

電池切れはしなくなった

スリープモードを(2)から(3)に変更した結果、 個人的には劇的な効果がありました。

夜中に勝手にバッテリー切れになることはもちろんなくなりました。 ただ、今回得た恩恵はそれだけではありません。 メモリーを解放してスリープに入るようになったので、メモリが最適化された状態で復帰するようになりました。

どういうことかと言うと、スリープする時に自動的にメモリ上の不要データを掃除してくれるようになったので、 復帰後には身軽になった MacBook を使うことができるようになったということです。

バッテリーが長持ちして、メモリも健康に保つことができるので、 一石二鳥のスリープモードだと思います。

「メモリ」という単語を書きすぎて気分が悪くなったので 次から具体的に設定方法を紹介します。

設定方法

バックアップはお忘れなく

当然ながらこれからの作業は自己責任の上で行うことをお忘れなく。 データのバックアップは歯磨きと同じように習慣化しましょう。

ターミナルの起動

普段コマンドラインでパソコンを操作する人は分かると思いますが、 パソコンはマウスで行う操作をほぼすべてキーボードで行うことができます。

例えばファイルを移動させる時はドラッグアンドドロップでマウス操作をすると思います。 この操作はキーボード操作で行うこともできます。 ファイルを移動させるためのコマンドがあるので、そのコマンドでパソコンに命令を出します。 フォルダAからフォルダBにファイルCを移動させる操作を、 「端末」と呼ばれるソフトに次の命令をキーボードで入力することで実現することができます。

mv ./folderA/fileC ./folderB/

またこの mv コマンドではフォルダやファイルの名称の変更を行うことが可能です。

このようにして「端末」上で様々な操作が行えるのですが、 スリープモードの変更もコマンドで行います。

まずは「端末」を起動する必要があります。

  • まず Finder.app を起動します。
  • 次に Application フォルダを開きます。
  • 中から「Terminal.app」もしくは「ターミナル.app」というソフトを見つけて起動します。

ターミナル.app

上の画像のアプリが「端末」と呼ばれるターミナルです。 起動すると以下のようなアプリが起動します。 (私のターミナルは色々設定しているので見た目が違うと思いますが、 デフォルトの設定だと白いターミナルが起動すると思います。)

ターミナル.app

現在の設定の確認

次のコマンドをターミナルに入力してエンターキーを押してください。

pmset -g

すると次のような出力が返ってきます。

System-wide power settings:
Currently in use:
 standbydelay         10800
 standby              1
 womp                 1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 powernap             1
 gpuswitch            2
 networkoversleep     0
 disksleep            10
 sleep                60 (sleep prevented by useractivityd, sharingd)
 autopoweroffdelay    28800
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         60
 tcpkeepalive         1
 acwake               0
 lidwake              1

下から7行目を見ると hibernatemode 3 とあります。 これは現在のスリープモードが先程述べた2番目のスリープモードになっていることを示しています。

スリープモードの変更

現在のスリープモードが確認できたので、次はスリープモードを変更します。 以下のコマンドを入力してenterキーを押してください。

sudo pmset -a hibernatemode 25

するとパスワードを聞かれるので MacBook のログインパスワードを入力してエンターキーを押してください。 入力中に文字列は表示されず「端末」には何も入力されていないように見えますが、 ちゃんと入力されているので大丈夫です。

sudo というコマンドはパソコンにとって重要な操作を行う時に使うコマンドです。 今回はシステムの設定を変更するので、パソコンの管理者の許可を取るという意味でパスワードが要求されました。

変更の確認

また次のコマンドで現在のスリープモードを確認します。

pmset -g

すると次のような出力が返ってきます。

System-wide power settings:
Currently in use:
 standbydelay         10800
 standby              1
 womp                 1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 powernap             1
 gpuswitch            2
 networkoversleep     0
 disksleep            10
 sleep                60 (sleep prevented by useractivityd, sharingd)
 autopoweroffdelay    28800
 hibernatemode        25
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         60
 tcpkeepalive         1
 acwake               0
 lidwake              1

また下から7行目を見ると hibernatemode 25 とあります。 これは現在のスリープモードが先程述べた3番目のスリープモードになっていることを示しています。

これで設定は完了です。 ターミナルに次のコマンドを入力してエンターキーを押すか、 ウィンドウの閉じるボタンをクリックしてターミナルを終了してください。

exit

お疲れ様でした。

関連記事

参照リンク