Provided by: manpages-ja_0.5.0.0.20140515+dfsg-2_all ![bug](/img/bug.png)
![bug](/img/bug.png)
名前
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)