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アダプタのときスリープしない
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.plist
をsudo
で編集して<string>-NoMulticastAdvertisements</string>
を挿入。編集した箇所は以下のようになる。
<array>
<string>/usr/sbin/mDNSResponder</string>
<string>-NoMulticastAdvertisements</string>
</array>
- SIP を OFF にしておきたくない場合は戻す。
- pmset(1) Mac OS X Manual Page
- たぶん
man pmset
と同じ内容。
- たぶん
- スリープに関する知識まとめ - ザリガニが見ていた...。
- 新・OS X ハッキング! (138) 単発処理もOK、「pmset」の電源管理ワザ | マイナビニュース
- Fix OS X 10.11 El Capitan 2 hour wakeup issue: Wake reason: RTC (Alarm)
- osx - Mac wakes up from sleep every two hours on Mac OS X Yosemite - Ask Different
El Capitan の MacBook (12-inch, 2015) と Yosemite の Mac mini (2011) の Energy Saver
の比較。Mac mini の方がはデスクトップなのですっきりしてるけど、Computer sleep
と Display sleep
が別になっていることがわかる。一方が Retina なので画像の大きさが違う。
上: El Capitan (laptop)
下: Yosemite (desktop)