APMD(8) Linux Programmer’s Manual APMD(8) 名前 apmd - Advanced Power Management (APM) デーモン 書式 apmd [ -c check_seconds ] [ -P proxy_cmd ] [ -p percent_to_log ] [ -qVvW ] [ -w warn_percent ] [ -? ] [deprecated options] 説明 apmd は APM を監視するデーモンで、OS のカーネルの APM BIOS ドライバーを 利 用して動作する。 apmd はドライバーからイベントの発生が通知された時に コマンド (通常はシェルスクリプト) を実行することができ、またシステム の 電力状態が変化 (AC 電源供給のオン・オフなど) したときに syslogd(8) を使 ってログを残すことができる。電池の残量がわずかになった時には、システ ム の全ユーザーにいろいろな方法で警告を通知することもできる。 カーネルの APM ドライバーからサスペンドやスタンバイを行いたい旨の要求を 受け取ると、 apmd は適切なコマンドを実行し、そのイベントをログに書き 、 データをディスクに sync(2) し、全てのデータがディスクに実際に書きこまれ るように少しの間スリープし、その後 APM ドライバーに処理を続行するように 通 知する。しかし「クリティカル」なサスペンド (緊急シャットダウン) の場 合には、途中の段階をすべて飛ばしてドライバーに処理の続行通知を送る。 このデーモンの主な利用法は proxy コマンドを使用して電力の節約をすること である。このコマンドのデフォルトの検索場所は /etc/apmd_proxy であり、起 動の際には 1 個または 2 個の引数が付けられる。 start デーモンの起動時に呼びだされる。通常、システム全体の電力管理設定 を行う。例えば電池使用時/非使用時の IDE ハードディスクのスタンバ イ時間などである。 stop デーモンの停止時に呼びだされる。通常はデーモンの開始時に設定され た電源の設定を元に戻す。 suspend [ system | user ] シ ステムのサスペンド開始を APM ドライバーが通知した時に呼びださ れる。二番目の引数は、サスペンドの開始が BIOS によるものか、ユー ザーのアクション (ラップトップを閉じた時など) によるものかを示す 。 BIOS の「サスペンド」モードは積極的に電力を節約する。通常は CPU のコア部分とメモリを除いて全てのデバイスの電源をカットし、これら も超低電力モード (very low power mode) にする。多くのラップト ッ プでは、電池だけで数日間サスペンドし続けることができる。 (「ハイ バネーション」はさらなるサスペンドと言える。これは全ての状態がデ ィ スクに書きだされるので CPU のコアの電源供給もカットすることが でき、電池から電源供給をする必要がまったくなくなる。現段階 で は Linux はハイバネーションをサポートしていない。) PCMCIA デバイス は cardctl(8) を使って手動でサスペンドすべきである。またいくつか のドライバーモジュールもアンロードしておく必要があるかもしれない 。 standby [ system | user ] システムのスタンバイ開始を APM ドライバーが通知した時に呼びだ さ れる。二番目の引数はスタンバイの開始が BIOS によるものかユーザー のアクション (apm -s の実行など) によるものかを示している。 BIOS の「スタンバイ」モードは多少電力の節約をする。マシンはユ ー ザーの操作にほとんど即時に反応できる状態に保たれる。多くのラップ トップではスタンバイモードのままだと電池だけでは一日ももたない。 通常は、 BIOS がすること以外には何もしなくてよい。 resume [ suspend | standby | critical ] シ ステムの通常オペレーションへのレジュームを APM ドライバーが通 知した時に呼びだされる。二番目の引数は、以前の状態が「サスペンド 」 モード(「クリティカル」なサスペンドの可能性もある) だったか「 スタンバイ」モードだったかを示している。 システムクロックをハードウェアクロックに一致するように更新する必 要 がある。これは通常カーネルの APM ドライバーによって処理される 。 PCMCIA デバイスは cardctl(8) を使用して手動でレジュームする必 要があるかもしれない。また再ロードや再初期化が必要になるドライバ ーモジュールも存在する。クリティカルなサスペンドの時には緊急シャ ットダウンにより、システムの状態が完全には保存されていないことも あるため、アプリケーションやドライバーの状態がおかしくなるかもし れない。 change power APM ドライバーの「電源状態の変化」イベントのうちの幾つかに対応す る (特に AC 電源の挿抜など)。これが起きるとシステム全体の電力 管 理設定を変更する場合が多い。例えば電池しか使えない場合に IDE HDD を積極的にスタンバイモードに入れるようにするなど。 change battery 少なくとも一つの (あるいは複数の) 電池の残量が "low" である、 と い う BIOS の判断が APM ドライバーから通知された。ただし、少なく とも 10 分ぶんの電力は残っている。 change capability システムの電力管理設定機能のどれかが変更された旨が報告された。何 らかのセットアップユーティリティの操作やデバイスの追加・取り外し などが考えられる。 このデーモンはいろいろなログメッセージを発行する。ほとんどは見ればわ か る だろうが、電池の状態に関するメッセージには少々説明が必要かもしれない 。ログの "Battery" または "Charge" メッセージには、続いて 4 つのフィ ー ルドが記述される。 1) 消費レート (パーセント/分)。負の場合は充電を示す。 2) 完全充電・完全消費状態からの経過時間 (hh:mm:ss)。この値は 100% また は 0% になった状態からの経過時間を反映している場合にのみ意味があ る。それ以外の場合には時間は括弧で括られ、最後に apmd の「重要な 」状態変化 (デーモンの起動、AC 電源から電池駆動への移行など) が 起きてからの経過時間を表す。 3) 完全に電池を消費してしまうまで (あるいは完全に充電されるまで) の予測 時間。最後にレジューム状態から復帰して以降 (あるいは AC 電源が接 続されて移行) と同じような利用状態が続くと仮定している。この時間 は apmd 自身が計算している。 4) 括弧に挟まれた、充電率と電池の寿命。これは APM BIOS の予測値である ( インテリジェントな電池自身からの、やや控えめな見積りであることが 多い)。この情報は、このデーモンからのメッセージのほとんどに追 加 される。 こ のデーモンは APM BIOS 1.2 イベントをサポートしている。しかし複数の電 池の取り扱いなど、より高度な機能はサポートしていない。また最近の PC ハ ードウェアにある ACPI サポートとの連携は、まだできない。 オプション -c seconds, --check seconds /dev/apm_bios デバイスを何秒間ブロックするかを制御する。通常デー モンは APM ドライバーがイベントを報告するまでブロックする。こ の 数字を変えると、電池の充電速度・消費速度をより頻繁にチェックでき る。 -P proxy_cmd, --apmd_proxy proxy_cmd APM ドライバーのイベントが報告されたときに起動するコマンドを指定 する。このスクリプトに付加される引数に関する情報は上述の説明を見 よ。 -p percent_change, --percentage percent_change (消費や充電によって) 利用可能な電池残量が percent_change づつ 変 わるごとに、情報をログに送る。デフォルトは 5。この機能を無効にし たい場合は 100 より大きい値を指定する。 -V, --version デーモンのバージョンを表示して終了する。 -v, --verbose 詳細出力モードを有効にする。 APM ドライバーから報告される全て の イベントがログに送られる。 -W, --wall 電池の状態が (-w オプションや APM BIOS によって定められた) "low" になったとき、 syslog(2) を用いてログをとるだけでなく、 wall(1) を用いて全てのユーザーに警告を発する。これは syslogd(8) の設定で 、 ALERT メッセージがユーザに送られるようになっていない場合に 非 常に便利である。両方が用いられると、危険な状態になったときにより たくさんの警告が発せられる。 -w warn_percent, --warn warn_percent 電池が充電状態になく、かつ残量が warn_percent 以下になったときに ALERT レベルの警告を syslog(2) に送る。 -W または --wall フラグ が与えられていると、デーモンは wall(1) も使ってユーザーにいま そ こにある危機を警告する。警告はパーセンテージが変わるごとに発せら れる。デフォルトは 10。この機能を無効にするには負の値を指定す る 。 -q, --quiet -W オプションや -w オプションから生じる警告メッセージを出さなく する。 (多くのマシンでは、 APM BIOS は電力を使い切りそうになると 警告音を発するので、それ以上の警告は必要ない。) -?, --help 利用法を表示して終了する。 これから書くソフトは、 proxy スクリプトだけを使うようにすべきである。以 下のオプションは今後は使うべきでない (これらのほとんどは正式リリース に は 存在しない)。指定されると、各イベントから起動されるどの proxy コマン ドよりも優先される。 -a ac_online_cmd, --ac_online ac_online_cmd AC 電源が利用できるようになったとき (ただしデーモンが最初に起 動 されたときは除く) に実行すべきコマンドを指定する。 -b ac_offline_cmd, --ac_offline ac_offline_cmd マシンが電池駆動になったとき (ただしデーモンが最初に起動されたと きは除く) に実行すべきコマンドを指定する。 -l low_battery_cmd, --low_battery low_battery_cmd 電池の残量が "low" であると APM BIOS が判断した場合に実行すべ き コマンドを指定する。 -s pre_suspend_cmd, --pre_suspend pre_suspend_cmd ドライバ経由でサスペンドする前に実行すべきコマンドを指定する。 -r post_resume_cmd, --post_resume post_resume_cmd ドライバ経由で復帰した後に実行すべきコマンドを指定する。 -u, --utc ( こ のオプションは現在は完全に無視される。) BIOS クロックが UTC (GMT) にセットされている。したがってサスペンドモードやレジューム モ ードから復帰したり BIOS の update time イベントの際には、デー モンは clock や hwclock プログラムに -u オプションを渡さなければ ならない。 バグ 電 力状態が変わったあと、最初に出される報告は不正確かもしれない。なぜな ら 1% 以下の変化は 1% に丸められるからである。例えば、ある程度マシン を 使 って 50.9% の電池が残っているとすると、これは 50% と報告される。マシ ンの充電が始まると、残量が 51% になるまでの変化は 0.1% だけである。した がって充電速度は劇的に大きな値になってしまう。 他 のアプリケーションに、システムの電源管理方針決定に参画させるには、よ り一般的なフックが必要である。 現在のところ、複数の電池は 1 つの大きな電池としてしか取り扱われない。 ファイル /dev/apm_bios /proc/apm /etc/apmd/apmd_proxy 著者 このプログラムは Rik Faith (faith@cs.unc.edu) によって書かれ、 GNU 一般 公 共使用許諾のもとで自由に再配布できる。このプログラムは「完全に無保証 」である。現在の管理者は Avery Pennarun (apenwarr@worldvisions.ca) であ る。 関連項目 apm(1), xapm(1), cardctl(8), hdparm(8), syslogd(8) 10 Jun 1999 APMD(8)
Copyright(C) linux-cmd.com All Rights Reserved. Author Takayuki Yukawa