次のページ
前のページ
目次へ
コンピュータ使用時の電力を抑える方法は Linux にもいくつかあります。
Advanced Power Management (APM) やハードディスクの設定、
モニタを使わずに作業する、など。
Linux との互換性のチェック
Battery-Powered-mini-HOWTO によれば、
「…ノート PC や省電力機能付きデスクトップ PC で APM を機能させるためには、
そのマシンのシステムの BIOS ROM が
APM スタンダードをサポートしていなければなりません。さらにいえば、
Linux オペレーティング・システムで APM を効かせるためには、
システム BIOS ROM は APM スタンダードのバージョン 1.0 か 1.1 と、
32 ビットのプロテクト・モードでの機器接続をサポートしている必要があります。
お奨めは APM 1.1 をサポートしているシステムのほうです。
より多くの機能があり、
デバイス・ドライバとサポート・ユーティリティが恩恵を受けられるからです」
(訳注:
Battery-Powered-mini-HOWTO は和訳があります)
APM のバージョンに関する情報は、dmesg コマンドや、
/proc/apm ファイルをのぞくとあります。
はじめに
Linux をインストールしたばっかりなら、恐らくカーネルをリコンパイルする
必要があります。お使いのディストリビューションについてくるカーネルでは、
APM はたぶん利用可能になっていないでしょう。
APM サポートは二つの部分から成り立っています:
カーネルのサポートと、
ユーザのプログラム層でのサポートです。
カーネルサポートを使うには、該当するカーネル設定のセクションを
オンにします。
私の知る限りではすべての機能がラップトップ PC で使えるとは限りませんが、
これまた私の知る限りでは、
CONFIG_APM_POWER_OFF はほとんどのラップトップで使えるようです。
ユーザーランドサポートのためのユーティリティは、
WorldVisions
にあります。
APMD は、現在のラップトップ・コンピュータほとんどについている
Advanced Power Management システムを制御するプログラムの集合です。
もし 2.2.x カーネルを使っていて、実験をしてみたいのなら、
APM BIOS が直接サポートしていない場合でも
Linux をシステムごとハイバネーションさせられる
カーネル・パッチを
Gabor Kuti <seasons@falcon.sch.bme.hu> が出しています。
Richard Gooch 曰く: 以前 apmd のベータ版を試してみたんだけど、
こんな理由で気に入らなかった:
- サスペンドに入るときに実行するよう設定できるコマンドが 1 個だけ。
- ユーザが行うサスペンドと、システムが行うそれとを区別していない。
- (
sync() ;
sleep(0) ; sync() ; sleep(1) ; というシーケンスを行う
ポリシを切る手段が用意されていない)
- 追加機能に関するドキュメントがない。
- ぼくらが欲しているものが、この一個のでかいデーモンなのか、確証が持てない。
もっと小さなデーモンの組合わせのほうが、
欲しいものだけ選んで使えるからいいだろう。
ちょっとした機能一種類だけが欲しいような場合に、でかいデーモンはデブすぎる。
この話題は論争になっていましたが、
彼 Richard Gooch は suspendd というパッケージを
http://www.atnf.csiro.au/~rgooch/linux/
に置きました。
apmcd (apm ベースの crontab)
ftp://ftp.binary9.net/pub/linux/ も見てみてください。
Nicolas J. Leon <nicholas@binary9.net>
http://mrnick.binary9.net/
によるツールです。
注意: この機能が 1 個のパッケージ
(そのうち apmd になるでしょう)
にマージされたのかどうか、私はチェックしていません。
注意
他のオペレーティング・システムがインストール済みだとか、
別のオペレーティング・システムを同じハードディスクで使うのであれば、
Linux に手ひどい障害を与えるような
他の "ハイバネーション" や "サスペンド"
ツールがインストールされていないことを確認してください。
例えば、
Linux が占有しているディスク・スペースを使っちゃう、とかいったものです。
トラブルシューティング
お使いのマシンが 2.2.x でなく 2.0.x カーネルで動いている場合、
Klaus Franken kfr@klaus.franken.de の、このアドバイスをどうぞ:
「2.2 ではデフォルトが変わっています。
halt を呼んでいる初期化スクリプト (init-scripts) を探して、
halt -p か poweroff に変えてください。
man halt 参照のこと。
もしこのオプションがない場合は、新しいバージョンの halt が必要です」
これは SysVinit パッケージにあります。
X ウインドウ・システムと APM は、一緒にはうまく動かなかったり、
マシンごとハングすらしたりするときがあります。
Steve Rader からのお勧め:
apm -s を実行すると、X サーバがハングする Linux システムがあります。
この難儀に対する言い伝えとしては、仮想コンソールに切り替えてサスペンドさせる、
つまり root 名義で chvt 1; apm -s とかなんとかする、
あるいはもっと具体的に
sudo chvt 1; sudo apm -s とする、というものがあります。
僕はこのコマンドをスクリプト、そう、my-suspend というのに入れていて、
xapmload --click-command my-suspend として使っています。
新型のマシン
(例えば HP Omnibook 4150 の 366 MHz モデル) では、
/proc/apm ファイルにアクセスすると、
カーネル・フォールト general protection fault: f000
に見舞われたりするものがあります。
Stephen Rothwell <Stephen.Rothwell@canb.auug.org.au>
http://www.canb.auug.org.au/~sfr/ の説明では:
「これは、そのマシンの APM BIOS がプロテクト・モードの最中に
リアル・モードのセグメントを使おうとするからです。言い換えれば
BIOS のバグ… 最近この手のものに出会ったのですよ。
他のすべての機種では、BIOS の電源をオフにするコードのところで、
電源をオフにしようとする前にリアル・モードに戻って回避できているのですが。
このマシンでは、できていないのです」
ACPI
最新の標準は ACPI です。
ACPI4Linux プロジェクトは 1999 年のはじめにスタートしました。
これはカーネル・ドライバのプロジェクトで、
Linux において ACPI のフル・サポートを実装するのが狙いです。
ファンの制御、dock/undock の検出、
それに WindowMaker のドッカブルな温度メーターも含まれています。
http://phobos.fachschaften.tu-muenchen.de/acpi/ で行けます。
-
hdparm
hdparm は Linux の IDE ディスク・ユーティリティで、
スピン・ダウン (回転停止) のタイムアウトといったディスクのパラメータを
設定できます。SCSI の機能についても設定できるものがあります。
-
Mobile Update Daemon
mobile-update は標準の
update デーモンに換われるもので、
ディスクのスピン・アップ (回転開始) を最低限にし、
ディスクの回転稼働時間を低減します。
これは、自分以外のディスクへの活動があるときにだけバッファをフラッシュします。
ファイルシステムの一貫性を保つためには、sync を手で実行します。
mobile-update は APM を使わないので、古いシステムでも使えます。
-
Toshiba Linux Utilities
これは、東芝の Pentium 採用ノート PC 用の
ファンの制御、スーパーバイザ・パスワード、ホット・キー機能といった
Linux 向けユーティリティの集まりです。
KDE パッケージ Klibreta もあります。
-
LCDproc
「LCDproc は、20x4 行のバックライト付き LCD ディスプレイに
リアルタイムに Linux システムの情報を表示してくれる小さなソフトです。
私の知る限り、これは外付けの
Matrix-Orbital 20x4 LCD ディスプレイ
Matrix-Orbital
にのみ接続できます。シリアル・ポートに接続する LCD ディスプレイです」
-
Dial Daemon
diald デーモンは、
SLIP ないしは PPP を使ったオン・デマンドなインターネット接続を提供します。
diald は必要な時にリモート・ホストに自動ダイヤルしたり、
インアクティブなダイヤル・アップ接続を落としたりできます。
(Apple の) PowerBook シリーズは APM 規格をサポートしていませんが、PMU
(Power Management Unit) という別のプロトコルを持っています。
pmud というフリー (GPL) のデーモンがあって、この電力管理機能
を制御できます。バッテリーのレベルをモニタしたりマシンをスリープ状態に
する、電力消費レベルを変更するなどが可能です。書いたのは Stephan
Leemburg <stephan@jvc.nl> で、PPC のディストリビューション ftp
サイト(例えば
ftp://ftp.linuxppc.com/contrib/software/Utilities/System/) から入手可
能です。同じサイトに、これより古めの snooze というユーティリ
ティもありますが、こっちは PowerBook をスリープ状態にできるだけです。
モニタなしでもコンピュータから情報を受け取れるようなツールがあります。
bl : キーボード LED を点滅させる
-
blinkd :
「アンサリング・マシン(電話の自動応答装置)やファックスのために、
キーボードの LED を点滅させます。
blinkd はクライアント/サーバ構成になっており、
ボイス・ボックスにかかってきた電話や
スプールに入っているファックス入電の数といったようなものを、
キーボードの LED を点滅させて教えてくれます」
-
mailleds : キーボード LED で新着通知。
mailleds は、静かに控え目に、
新しいメールが届いていることを教えてくれます。
新着メールがあると、ユーザ・デーモンが LED を点滅させてくれます。
-
tleds :
ネットワークのパケットの TX と RX をキーボード LED を点滅させて知らせます。
パケットがマシンから送出されたときには Scroll-Lock LED、
受信したときは Num-Lock LED を点滅させます。
スクリーン・セーバはスクリーンを焼き付きから防いでくれているだけでしょうか?
電力も「セーブ」してくれているでしょうか?
Wade W. Hampton からのちょっとしたお勧めです:
普通、スクリーン・セーバはグラフィックスを表示したり、
地球外知的生命体を探したり、あるいは別のことをしたりします。
このようにスクリーン・セーバを使っている場合、
おそらく実際にはあなたは余分に電力を消費していることでしょう。
例えば XSETI をスクリーン・セーバに使っている場合、
文書を編集しているとか、コンパイルしている場合よりはるかに熱くなっている
(すなわち、より電力を使っている)でしょう。
本当に消費電力を減らしたいのならば、
そしてお使いの X サーバとモニタがサポートしているなら、
xset の dpms オプションを使いましょう
(xset についてはマニュアル・ページ参照)
例えば、X サーバで DPMS (Energy Star) 機能を利用するには
xset +dpms とします。
手でコマンドを打って X ディスプレイのモードを変えることもできます:
xset dpms force standby
xset dpms force suspend
xset dpms force off
スクリーン・セーバ・プログラムをいくつか挙げます:
xscreensaver の目的は、
映画の中に出てくるコンピュータのシーンがそうであるように、
使っていないときにスクリーンに素敵な画を出し、
空いているモニタには常に面白い何かが表示されているべきだ、
という思想をつらぬき通すことにあります。
このプログラムがもたらす、
xlock と xautolock の組み合わせに勝るおいしさは、
新しいディスプレイ・ハックを簡単にインストールできるということにあります。
新しいディスプレイ・モードを追加するには、
xscreensaver 自身をコンパイルし直したりする必要はなく、
ただリソースの設定をちょっと変えればいいだけなのです。
スクリーンのルート・ウインドウに描画するよう指定して起動できるような
プログラムなら何でも、変更なしにスクリーン・セーバとして使えるのです。
スクリーン・セーバとして走らせられるプログラム側には、
スクリーン・セーバであるとは何を意味するのか。
といったような特別の知識は必要ありません。
LockVC は、スター・フィールド (飛び散る星屑)
スクリーン・セーバと組になっている、コンソールをロックするプログラムです。
仮想コンソール上で LOCKVC を実行すると、
スター・フィールドが出現し、x, y, z 軸すべてについて回転を始めます。
(訳注: 財団法人 省エネルギーセンターでは、
国際エネルギースタープログラム としています。
本文書では、上記名称があまり一般的でないと思えること、
市販されている機器に張られているシールなどで
`Energy Star' の表記が目に触れることが多いことから、
そのまま `Energy Star' を使っています)
Robert Horn <rjh@world.std.com> は書きました:
「以前、デスクトップ・プリンタの設計者たちと
Energy Star について議論する機会がありました。
彼らは周辺機器によって決まる、許された待機電力の目標を満たしました。
というか、彼らは自分たちの目標についてしか知らなかったのですが。
しかし、興味深い意見を述べてくれました:
- Energy Star 基準は、かなりの動作中の節電につながります。
タイマー・ベースの節電は例外ですが。ほとんどの節電効果は、
低消費電力動作をオン・デマンドで行う設計からくるものです。
例えば、
消費電力の高いモータの代りに低消費電力のステッピング・モータを使うなどします。
この節約効果は、各々の設計と、低消費電力の製品への要求から来るもので、
より良くて安価な低消費電力製品の設計を産みます。
(常時稼働している)1 個のモータにいろんなクラッチを組み合わせるといった
古いスタイルの設計 (例: タイプライター) は、
もはや最小のコストではないのです。
- Energy Star は良い組織的エンジニアリングでした。
アイドル状態での電力消費を低減させるための設計変更を行うことに
反対するのをより難しくするような、
品質や性能の妥協を設計者に決して要求したりしません。
部品が停止した、そのミリ秒の間に節電のほとんどは始まるので、
こういった節約は無視できないのです。
- PC の電力のクラス分けは、その消費量ではなく、安全度によるものです。
なので、PC で一般的に使われている 235W や 300W の電源は、
その安全範囲を示しているのです。
実際の電力消費はもっと少なく、通常、安全範囲の 20〜30 パーセントです。
スイッチング電源の電力消費を計るのは実際には困難だと設計者は言っています。
専用に設計された電力計が必要だと。
普通の AC メータはモーター向けに設計されているもので、
スイッチング電源にはむしろ不正確です。
...」
電力消費をさらに抑えるため、Linux は idle cycle の間 CPU を halt します。
OS/2, Windows 3.1/95, NT, Linux に関する初期のリポートでは、
アイドル・ループをぶん回ってばかりで電気を食う DOS ベースの OS に比べ、
Linux は遥かに低い電力しか消費しないことが示されていました。
-- 検証には調査が必要でしょうから、この部分は書き替わるかもしれません。
ほとんどの Linux ユーザは、そうしてよければ、年がら年中コンピュータを
そのまま(動いたまま)にしておきがちです。
しかしながら、最近の BIOS には無人の電源オンをサポートしているものが
ありますし、cron を使えば無人 shutdown さえもできます。
コンピュータを毎晩つけっ放しにしておく必要はもうありません。
次のページ
前のページ
目次へ
|