Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名前
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)