Apple コンピュータでは、DarwinおよびmacOSオペレーティング システムpmsetで電源管理設定を操作するためのコマンド ライン ユーティリティです。スリープ設定を割り当て、スリープとウェイクの時間をスケジュールし、電源情報を表示できます。
歴史
このユーティリティは、 Darwin 6.0.1 およびMac OS X 10.2 "Jaguar"pmsetで初めて登場しました。導入以来定期的に更新されており、Darwin 21.2.0 およびmacOS Montereyでも引き続き利用できます。
行動
このユーティリティは、電源管理設定を設定または一覧表示します。ユーティリティが提供する機能の一部は、省エネルギー設定パネルの GUI インターフェイスから利用できます。ただし、pmsetGUI では利用できないいくつかのオプションにアクセスできるなど、柔軟性が向上します。
このユーティリティは、使用シナリオに応じて異なる電源管理設定を設定できます。マシンが充電器、バッテリー、UPS、またはこれら 3 つすべてで動作しているときに、異なる設定を適用できます。適切なフラグは次のとおりです。
- -c(充電器)、充電器に接続しているときに使用する設定を調整します
- -b(バッテリー)、バッテリー駆動時の設定を調整します
- -u(UPS)、UPSから電力を供給する際に使用する設定を調整する
- -a(すべて、デフォルト) すべてのシナリオの設定を調整します
電源管理設定を割り当てるときに、追加の引数を指定する必要があります。電源管理引数については、以下で詳しく説明します。コマンドを呼び出すと、指定された引数のみが電源管理オプションを変更します。既に設定されている引数は、pmsetそれらの引数が明示的に指定されない限り、変更されません。
このユーティリティは、ウェイク、スリープ、電源オン、または電源オフのイベントをスケジュールできます。イベントは、任意の曜日と時間の組み合わせに基づいて繰り返し実行することも、将来の日付と時間にスケジュールすることもできます。イベントをスケジュールするための構文は次のとおりです。
- pmset [repeat, schedule] [sleep, wake, poweron, shutdown, wakeorpoweron] [<MTWRFSU> <date/time>]
このコマンドを実行すると、以前に保存されたイベントは上書きされます。複数のイベントをスケジュールするには、1 つのコマンド文字列に入力する必要があります。たとえば、毎日 23:59 にシャットダウン イベントを設定し、毎日 7:00 にウェイク アップまたは電源オン イベントを設定するには、次のように入力します。
- sudo pmset repeat shutdown MTWRFSU 23:59:00 wakeorpoweron MTWRFSU 7:00:00
get フラグは、現在の電源管理構成に関する情報、または最近のアクティビティのログを表示します。追加の引数が指定されていない場合、フラグは現在の設定のみを表示します。追加の get 引数については、以下で詳しく説明します。get フラグは次のとおりです。
- -g現在の電源管理設定を取得、一覧表示する
現在スケジュールされているイベントを表示するには、次のように入力します。
- pmset -g sched
このユーティリティでは、休止状態や安全なスリープ オプションを構成したり、省エネルギー プロファイルを変更したりすることもできます。
電源管理設定
このpmsetユーティリティは、次の引数を認識します。引数は、任意の順序でシリアル形式で渡すことができます。構文が間違っているか、引数が認識されない場合、コマンド全体が失敗し、エラー メッセージと簡単なヘルプ画面が表示されます。電源管理設定は、特権ユーザーのみが変更できます。
- displaysleep– スリープタイマーを分単位で表示します。0 にするとスリープ表示が無効になります。
- disksleep– ディスクスピンダウンタイマー(分単位)。0 にするとディスクスリープが無効になります。
- sleep– システムスリープタイマー(分単位)、0 にするとスリープが無効になります
- womp- 「マジック」イーサネット パケットで起動します。有効にするには 1、無効にするには 0 を指定します。この設定は、デバイスが電源に接続されている場合に「pmset -g」を実行するとのみ表示されることに注意してください。それ以外の場合、「pmset -g」を実行しても womp 設定は表示されません。
- hibernatemodeハイバネーション モードを変更します。0 はスリープ中に RAM に電源が入ります。1 は RAM の内容がディスクに書き込まれ、システムは完全に電源が切れます。3 は RAM に電源が入り、ディスクに書き込まれます。5 はモード 1 と同じですが、セキュアな仮想メモリで使用されます。7 はモード 3 と同じですが、セキュアな仮想メモリで使用されます。25 はMac OS X 10.7でのハイバネーションで、RAM の内容がディスクに書き込まれ、システムは完全に電源が切れます。
- hibernatefile休止状態イメージファイルの場所を変更します。イメージはルートボリュームにのみ配置できます。
- ringモデムの呼び出し音で起動、有効にするには 1、無効にするには 0
- autorestart電源喪失後の自動再起動、有効にする場合は 1、無効にする場合は 0
- dps負荷に応じてプロセッサ速度を動的に変更します。有効にするには 1、無効にするには 0 を指定します。
- reduceプロセッサ速度を永続的に低下させます。有効にするには 1、無効にするには 0 を指定します。
- powerbutton電源ボタンが押されたときにマシンをシャットダウンする代わりにスリープ状態にします。有効にするには 1、無効にするには 0 を指定します。
- powernapマシンがスリープ中でも最新の状態を維持できるようにします。有効にするには 1、無効にするには 0 を指定します。
- lidwake(ラップトップのみ) ラップトップの蓋が開いたときにマシンを起動します。有効にするには 1、無効にするには 0 です。
- acwake(ラップトップのみ) AC 電源が取り外され、マシンがバッテリー電源に切り替わるなど、電源が変更されたときにマシンを起動します。有効にするには 1、無効にするには 0 を設定します。
- lessbright(ラップトップのみ) 指定された電源に切り替えるときにディスプレイの明るさをわずかに下げます。有効にするには 1、無効にするには 0 を指定します。
- halfdimディスプレイスリープは、完全な明るさと完全にオフの間の中間の半分の明るさの状態を使用します。有効にするには 1、無効にするには 0 です。
- sms(サポートされているラップトップのみ)突然の重力変化時にディスク ヘッドをパークするために、突然の動きセンサーを使用します。有効にするには 1、無効にするには 0 を設定します。
- haltlevel(UPS のみ) UPS の充電をパーセンテージで表示し、UPS が指定された充電レベルに達するとマシンをシャットダウンします。
- haltafter(UPS のみ) UPS を分単位で充電し、指定された分数 UPS 電力を使用した後にマシンをシャットダウンします。
- haltremain(UPS のみ) UPS は数分で充電し、UPS の残り時間が指定時間になったらマシンをシャットダウンします。
- ttyskeepawake任意の tty (リモート ログイン セッションなど) がアクティブなときにアイドル システムのスリープを防止します。tty は、アイドル時間がシステム スリープ タイマーを超えた場合にのみ非アクティブになります。有効にするには 1、無効にするには 0 を指定します。
- autopoweroff(AC 電源) サポートされている場合、欧州エネルギー関連製品指令のロット 6 の実装としてデフォルトで有効になっています。autopoweroffdelay 分間スリープした後、システムは休止状態イメージを書き込み、低電力チップセット スリープに入ります。この状態からのウェイクアップには、通常のスリープからのウェイクアップよりも時間がかかります。外部デバイスが接続されている、システムがバッテリ電源で動作している、またはシステムがネットワークにバインドされていてネットワーク アクセスのウェイクアップが有効になっている場合、システムは自動的に電源をオフにしません。
- autopoweroffdelay(AC 電源) 自動電源オフ モードに入るまでの遅延。(値 = 整数、秒単位)
- standbydelaylow休止状態イメージをディスクに書き込み、スタンバイのためにメモリの電源をオフにするまでの遅延。standbydelaylowバッテリー残量が少ない場合に使用されます。(値 = 整数、秒単位)
- standbydelayhigh休止状態イメージをディスクに書き込み、スタンバイのためにメモリの電源をオフにするまでの遅延。standbydelayhighバッテリー残量が多い場合に使用されます。(値 = 整数、秒単位)
- networkoversleepこの設定は、システムのスリープ中に macOS ネットワークが共有ネットワーク サービスを提示する方法に影響します。この設定はすべてのプラットフォームで使用されるわけではなく、値の変更はサポートされていません。
- destroyfvkeyonstandbyスタンバイ モードに移行するときに、ファイル ボールト キーを破棄します。デフォルトでは、システムがスタンバイに移行しても、ファイル ボールト キーは保持されます。キーが破棄されると、スタンバイ モードから抜け出すときにパスワードの入力が求められます。(値: 1 - 破棄、0 - 保持)。システムの電源を完全にオフにすることが必須であるため、`hibernatemode` を 25 (ディスクにサスペンド) に設定する必要もあります。
設定は、マシンが充電器に接続されている場合、バッテリーで動作している場合 (ラップトップの場合)、または UPS (使用可能な場合) で動作している場合に、個別に調整できます。設定は、4 つのシナリオすべてに対して同時に調整することもできます。これは、使用フラグが指定されていない場合の既定のオプションです。電源管理オプションは、-c(充電器)、-b(バッテリー)、-u(UPS)、または-a(すべて) フラグを追加することで、さまざまなプロファイルに対して指定できます。次の例では、バッテリーで動作している場合のみ、マシンを 10 分後にスリープ状態にし、ディスプレイを 5 分後にスリープ状態にするように設定します。
- pmset -b sleep 10 displaysleep 5
次のコマンドは、マシンが充電器によって電源供給されている状況に対して、わずかに異なる電源管理設定を割り当てます。ここでは、マシンは 30 分後にスリープするように設定され、ディスプレイは充電器によって設定された場合にのみスリープしないように設定されます。両方のコマンドを発行しても、互いに干渉することはありません。
- pmset -c sleep 30 displaysleep 0
引数をシリアル形式で入力すると、1 つのコマンドで複数の電源管理パラメータを設定または変更できます。次のコマンドは、マシンをスリープ状態にしないように設定し ( sleep 0)、緊急モーション センサーを有効にし ( sms 1)、ディスプレイを 20 分後にスリープ状態に設定し ( displaysleep 20)、プロセッサ速度の低下を無効にし ( reduce 0)、ディスプレイの中間的な暗さを有効にし ( halfdim 1)、カバーを開いたときにマシンを起動できるようにし ( lidwake 1)、tty セッション (SSH など) がアクティブなときにシステムがスリープ状態にならないようにし ( ttyskeepawake 1)、AC アダプタが挿入されたときにマシンを起動できないようにし ( acwake 0)、電源を切って回復した後の自動再起動を無効にし ( autorestart 0)、システム負荷に基づいてプロセッサ速度を動的に変更できるようにし ( dps 1)、モデム リングで起動できるようにし ( ring 1)、"マジック" Ethernet パケットの受信時に起動できるようにし ( womp 1)、ハード ディスクのスリープを無効にします ( disksleep 0)。
- pmset sleep 0 sms 1 displaysleep 20 reduce 0 halfdim 1 lidwake 1 ttyskeepawake 1 acwake 0 autorestart 0 dps 1 ring 1 womp 1 disksleep 0
上記の例には使用フラグが含まれていないため、指定された設定はすべての使用シナリオに適用されます。使用フラグを指定する後続のコマンドは、その使用シナリオの設定にのみ影響します。たとえば、は、pmset -b sleep 10バッテリーが接続されている場合にのみ、マシンを 10 分後にスリープ状態にします。その他のすべての設定は、バッテリーが接続されているときに適用され、上記の例のすべての設定は、充電器または UPS が接続されているときに適用されます。
少なくとも Darwin 9.4 およびOS X 10.5.4 "Leopard"では、 を通じて行われたすべての変更はpmsetにある永続的な設定ファイルに保存されます/Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist。このファイルは コマンドを使用して手動で変更できますdefaultsが、それらの変更は電源管理システムによってすぐには反映されません。 の手動編集もcom.apple.PowerManagement.plist上書きされるリスクがあります。 コマンドはpmset touchディスクから既存の設定を再読み込みし、システムに適用します。
有効にすると、が 0 でautopoweroffあってもマシンは休止状態モードになります。hibernatemodeの値は、autopoweroffdelayマニュアル ページ (Mavericks、2012 年 11 月 9 日) では分単位と記載されていますが、秒単位である可能性があります。
スケジュール設定
このpmsetコマンドは、システムのスリープ、シャットダウン、ウェイクアップ、または電源オン イベントをスケジュールできます。schedule引数は 1 回限りの電源イベントを設定するためのもので、引数はrepeat毎日または毎週のイベントを設定するためのものです。イベントのスケジュールは、特権ユーザーのみが実行できます。
このschedule引数は、次の追加の引数を認識します。
- タイプ; sleep、、、またはのwakeいずれかpoweronshutdownwakeorpoweron
- 日付と時刻(スケジュールのみ); 形式は"MM/dd/yy HH:mm:ss"24 時間形式で、引用符で囲む必要があります
- 時間(繰り返しのみ); 形式はHH:mm:ss24 形式である必要がありますが、引用符で囲む必要はありません
- 曜日。またはMTWRFSUなどののサブセットが有効であり、文字列、、 も有効です。MMTWRFweekdaysweekendseveryday
- 所有者; 電源イベントをスケジュールする人物またはプログラムを説明する文字列 (オプション)
このユーティリティは、不適切な構文を厳しく排除します。構文にエラーがあると、コマンドは失敗し、簡単なヘルプ メッセージが表示されます。スケジュールされたイベントの構文は次のとおりです。
- pmset schedule [sleep, wake, poweron, shutdown, wakeorpoweron] "MM/dd/yy HH:mm:ss"
指定できるイベントの種類は 1 つだけ (スリープ、ウェイクなど) で、選択する日付は将来の日付である必要があります。ユーティリティは、この情報を PMU に保存できることを想定しているため、 Apple 以外のハードウェアでは確実に動作しない可能性があります。日付と時刻の文字列は引用符で囲む必要があります。
繰り返しイベントの構文は次のとおりです。
- pmset repeat [sleep, wake, poweron, shutdown, wakeorpoweron] [MTWRFSU, weekdays, weekends, everyday] HH:mm:ss
スケジュールされたウェイク、スリープ、および電源イベントは、 の永続的な設定ファイルに保存されます/Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist。このファイルは コマンドを使用して手動で編集できますdefaultsが、そのように変更すると上書きされる重大なリスクがあります。また、このような編集はシステムによってすぐには反映されません。
リストオプション
リスト フラグ は-g、現在の電源構成に関する情報を表示します。追加の引数をpmset指定せずにフラグのみを指定すると、現在の電源管理設定が表示されます。追加の引数を指定すると、より具体的な情報が表示されます。 の get 関数には特権アクセスは必要ありません。このユーティリティは、次の引数を認識します (最新のリストは、ドキュメント化されていないpmset -g gettersコマンドで取得できますが、すべてのバリエーションが表示されるわけではありません*log)。
- liveオプションなしの場合と同様-gに、現在使用中の設定を表示します。
- customすべての電源のカスタム設定が表示されますが、これらの設定は現在使用されていない可能性があります。
- cap機能、マシンがサポートする電源管理機能を表示する
- schedスケジュール、スケジュールされた起動、ウェイク、シャットダウン、スリープイベントの表示
- upsUPSの緊急しきい値を表示します
- acまたは、adapter接続されている AC 電源アダプタの詳細が表示されます。MacBook および MacBook Pro でのみサポートされます。
- psまたはbatt電源、接続されたバッテリーとUPSのステータスを表示します
- accpsアクセサリの電源の詳細を表示します
- pslog電源の状態の継続的なログを表示する
- rawlogバッテリーから直接読み取った電源状態の継続的なログを表示します。
- rawbattバッテリーの状態を表示する
- therm熱条件を表示します(すべてのプラットフォームで表示されるわけではありません)
- thermlog熱通知の継続的なログを表示する(すべてのプラットフォームで表示されるわけではありません)
- assertions現在の電力アサーションの概要を表示します (10.6 以降)
- assertionslog電源アサーションの進行中のログを表示します (10.6 以降)
- sysloadシステム負荷勧告を表示します (10.6 以降)
- useractivity現在のユーザーアクティビティステータスを表示する
- useractivitylogユーザーアクティビティイベントの継続的なログを表示する
- logイベントの履歴ログを表示する
- historyデバッグのためにイベントのタイムラインを表示する
- historydetailed履歴イベントのUUIDのドライバーレベルのタイミングを表示します
- hidnullステータスを表示する
- userclientsイベントを受信/送信するプロセスのリストを表示する
- uuid現在アクティブなスリープ/ウェイクUUIDを表示する
- rtc生のRTCデータを表示する
- getters有効なオプションのリストを表示する-g
- powerstateすべてのデバイス ドライバーの現在の電源状態を表示します。
- stats睡眠/覚醒統計を表示する
- systemstate現在の電源状態とシステムの電源能力を表示する
- everythingすべてを表示する
に渡すことができる get 引数は 1 つだけですpmset -g。たとえば、スケジュールされたイベントを表示するには、 と入力しますpmset -g sched。複数の get 引数が指定されてもユーティリティはエラーを返しませんが、最初の引数以外はすべて無視されます。
およびにはsleep、displaysleep強制された値 0 (無効) と、この値を適用するプロセス ID のリストが表示されます。これらは、たとえばバックアップが完了するまでマシンを起動したままにしておく必要があるバックアップ プログラムなどのプロセスです。
使用例
次の例は、Mac OS X 10.5.4 "Leopard" を実行しているApple PowerBook G4pmsetでのコマンドの出力を示しています。
次の例では、関連するコンピューターを直ちにスリープ状態にします。
pmset スリープナウ
次の例は、バッテリーで電源が供給されているラップトップにのみ適用されます。このコマンドは、5 分間操作がないとマシンをスリープ状態に設定し、2 分後にディスプレイをスリープ状態にし、3 分後にハード ディスクの回転を停止します。このコマンドを発行できるのは、特権ユーザーだけです。コマンドが正常に発行され、構文エラーがない場合は、pmset終了コード 0 でサイレントに終了します。システムが新しい構成を採用したことを確認するには、コマンドを発行しますpmset -g。
pmset -b スリープ 5 ディスプレイスリープ 2 ディスクスリープ 3
次の例は、UPS によって電源が供給されているマシンにのみ適用されます。UPS のバッテリー残量が 5% になったとき、または推定消費時間が 5 分になったときのいずれか早い方で、マシンが緊急シャットダウンを実行するように設定します。このコマンドを発行できるのは、特権ユーザーのみです。コマンドが正常に発行され、構文エラーがない場合は、pmset終了コード 0 でサイレントに終了します。システムが新しい構成を採用したことを確認するには、コマンドを発行しますpmset -g。
pmset -u haltlevel 5 haltremain 5
次の例は、すべての使用シナリオに適用されます。マシンは、「マジック」イーサネット パケットの受信時に起動し、モデムがリングを検出した場合に起動し、tty セッションがアクティブな場合はシステムがスリープ状態にならないように設定します。このコマンドを発行できるのは、特権ユーザーのみです。コマンドが正常に発行され、構文エラーがない場合は、pmset終了コード 0 でサイレントに終了します。システムが新しい構成を採用したことを確認するには、コマンドを発行しますpmset -g。
pmset -a womp 1 リング 1 ttyskeepawake 1
次の例では、1 回限りのスケジュールされた電源イベントを設定します。マシンは、2009 年 1 月 10 日午後 10:00 (2009 年 1 月 10 日 - 米国中心の MM/DD/YYY 時間構文に注意) にシャットダウンするように設定pmsetされます。このコマンドを発行できるのは特権ユーザーのみです。コマンドが正常に発行され、構文エラーがない場合は、終了コード 0 でサイレントに終了します。システムが新しい構成を採用したことを確認するには、コマンドを発行しますpmset -g sched。
pmset スケジュールシャットダウン "01/10/2009 22:00:00"
次の例では、繰り返し電源イベントを設定します。マシンは、平日の午前 8 時に起動または電源オンになります。このコマンドを発行できるのは、特権ユーザーのみです。コマンドが正常に発行され、構文エラーがない場合は、pmset終了コード 0 でサイレントに終了します。システムが新しい構成を採用したことを確認するには、コマンドを発行しますpmset -g sched。
pmset 繰り返しウェイクまたはパワーオン MTWRF 08:00:00
以下は、 からの出力例ですpmset -g。 当時、マシンは充電器から電力を供給され、同時にバッテリーを充電していました。 コマンドは現在の構成を出力します。
$ pmset -g
アクティブプロフィール:
バッテリー電力 -1
AC電源 -1*
現在使用中:
睡眠 0
メッセージ 1
ディスプレイスリープ 20
0を減らす
半角1
リッドウェイク 1
ttyskeepawake 1
目覚める 0
自動再起動 0
1 秒あたり
リング1
ウォンプ1
ディスクスリープ 0
以下は、 からの出力例ですpmset -g sched。この例では、マシンは、平日の午前 8 時に開始または起動する繰り返しイベントがすでに設定されています。コマンドは繰り返しイベントを出力します。次回のこのような発生は、スケジュールされた電源イベントとして表示されることに注意してください。
$ pmset -g スケジュール
繰り返しパワーイベント:
平日のみ午前8時に起動
予定されている電源イベント:
[0] wakeorpoweron 08/04/08 08:00:00 繰り返し
以下は、 からの出力例ですpmset -g。 この時点で、マシンはバックアップ中でした。 出力には、バックアップ プログラムの PID が表示されます。
$ pmset -g | grep スリープ
ディスクスリープ 10
スリープ 0 (33927 によって課せられる)
ディスプレイスリープ 5
$ ps -ef | grep 33927
0 33927 1 0 午前9:22 ?? 10:54.97 /System/Library/CoreServices/backupd
参照
参考文献
- Apple Developer Connection の pmset(1) マニュアル ページ
- ユタ大学 uMac のコマンドラインによる電源管理とスケジュール設定
- Apple ディスカッションの Standbydelayhigh と Standbydelay low
外部リンク
- pmset ソースコード (Apple Developer Connection より)
- Linux システム用の pm-hibernate、pm-suspend
- Mac ハードウェア上の Linux システム用の pm-pmu
- Solaris システムの sys-suspend
- Solaris システム用の poweradm
