Skip to content

Instantly share code, notes, and snippets.

@pn11
Last active December 19, 2019 14:36
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pn11/7225ed6c39aeb3a31b354b38d3e49348 to your computer and use it in GitHub Desktop.
Save pn11/7225ed6c39aeb3a31b354b38d3e49348 to your computer and use it in GitHub Desktop.
Macbook の電源管理、または pmset コマンドの使い方

Macbook の電源管理、または pmset コマンドの使い方

pmset

pm は power management のことだと思われる。Yosemite までは、System Preferences->Energy Saver から、スリープまでの時間とディスプレイオフまでの時間を別に設定できたのだが、El Capitan ではコンピューターのスリープの時間が設定できなくなり、恐らくディスプレイのオフの時間と一緒になっている。これだとディスプレイだけオフしてバッテリーを節約したいけど、起動に時間のかかるスリープはして欲しくないという使い方ができない。 (一番下に比較画像を載せた)

pmset コマンドを使えばこれを設定できる。

pmset -g

で現在の設定状況が分かる。 g はたぶん get の g。a, b, c オプションで設定を変えられる。たぶん a は all, b は battery, c は charge。

というわけで以下のように設定した。

sudo pmset -b displaysleep 1 # バッテリー駆動時のディスプレイオフまでの時間を1分にする
sudo pmset -b sleep 10  # バッテリー駆動時のスリープまでの時間を10分にする
sudo pmset -c displaysleep 10 # ACアダプタのときディスプレイを10分でオフ
sudo pmset -c sleep 0 # ACアダプタのときスリープしない

MacBook が不眠症な問題

El Capitan の MacBook (12 inch) をバッテリー駆動でスリープ状態にしておくと、100%の状態で夜寝ても朝には50%になっているということが起こっていた。2時間後に Wake reason: RTC (Alarm) というアラートが出ていることが Console.app をみて分かっていて、スリープ時に Wi-Fi を OFF にするとか、色々調べて試したけど、解決しなかった。恐らく購入直後からこの状態だったので、今日 (2016/08/07) まで1年くらい悩まされていたけど、ついに以下のリンク先のおかげで解決した。

これをやっても2時間おきに何かしらのログが出ているのは確認できるのだけど、バッテリーの減りはほぼない! リンク切れしないように手順を転載させていただく。

  • SIP を OFF にする
  • /System/Library/LaunchDaemons/com.apple.mDNSResponder.plistsudo で編集して <string>-NoMulticastAdvertisements</string> を挿入。編集した箇所は以下のようになる。
<array>
  <string>/usr/sbin/mDNSResponder</string>
  <string>-NoMulticastAdvertisements</string>
</array>
  • SIP を OFF にしておきたくない場合は戻す。

参考リンク

pmset について

Wake reason: RTC (Alarm) について

参考画像

El Capitan の MacBook (12-inch, 2015) と Yosemite の Mac mini (2011) の Energy Saver の比較。Mac mini の方がはデスクトップなのですっきりしてるけど、Computer sleepDisplay sleep が別になっていることがわかる。一方が Retina なので画像の大きさが違う。

上: El Capitan (laptop)

下: Yosemite (desktop)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment