元麻布春男の週刊PCホットライン

「ファンが止まるPC」の安定を阻むACPIへの不安


●「ファンが止まるPC」を作りたい

 どうやら、静かなPC、音のうるさくないPCというものには、一定の、それもかなりの数のニーズがあるらしい。AKIBA PC Hotline!の今週見つけた新製品には、ほとんど毎週といってよいほど、静音グッズとでも呼べそうな新製品が掲載されている。音の静かな冷却ファン、ファンに取り付けることでノイズを抑えるカバー、ファンの回転数を制御することでノイズを最低限にしようというコントローラ、さらには本体の共振を抑え静音化を図ったケースといった具合だ。

 筆者は、こうした静音化グッズの愛好家ではないし、PCの出すノイズに対し極端に神経質な方ではないと思っているのだが、最近こだわっていることがある。それは、使っていない時のファンを止める、ということだ。本当はファンなどない方が良いのだろうが、メインストリームアプリケーションを快適に利用できる、ということを前提条件にしてしまうと、ファンレスのPCは現実的ではない。最近、VIAのC3系プロセッサを用いたファンレス、あるいはそれに近い構成が可能なシステムがチラホラと見られるものの、汎用PCというより、「x86アーキテクチャをベースにした組み込み機器製作キット」的なもののようだ。少なくとも筆者が使いたいと考えるアプリケーションは、快適に動きそうもない。

 筆者が考えている「ファンが止まるPC」というのは、PCを利用している時は、電源ファン、CPUの冷却ファン、ケースに取り付けられた冷却ファンなどが動作しているものの、一定時間アイドル状態が続くとスタンバイに入り、すべてのファンが停止する、というものだ。ここで重要なのは、スタンバイ状態にあってもPCが完全に停止してはいけない、ということで、スタンバイ復帰後はスタンバイ前の状態に戻らなければならないし、スタンバイ中もタスクスケジューラなどにより、予約された処理を実行できなければならない。逆に、こうしたことができないのなら、PCをシャットダウンしたり、休止状態を使えば済む、ということになってしまう。これではおもしろくない。


●未使用時のファン停止によって快適なTV録画が可能に

 動作していないアイドル中のPCのファンを止めたい、と考えるようになったのは、カノープスのMTV1000をインストールしたマシンを、常時TV予約録画用にスタンバイさせるようになってからだ。MTV1000を実験マシンに入れて、テスト的に録画している分には気にならなかったのだが、24時間365日、常時スタンバイさせていると、意外とファンの音が気になる。筆者の仕事部屋には、仕事マシン、サーバーといったPC以外にもファンのついた機器類があり、決して静寂とはいえない環境なのだが、それでも1台増えた常時稼動マシンのノイズが気になったのである。

【画面1】Windowsの電源オプションのプロパティ

 予約録画マシンに使っているマザーボードは、IntelのD850GB。清水の舞台から飛び降りるようにして買った、筆者にとって最初のPentium 4対応マザーボードだ。このマザーボードでは、BIOSセットアップのPowerメニューにあるACPIサスペンドステートの初期設定がS1になっている。Windowsの電源オプションのプロパティ(画面1)にあるスタンバイモードがどのような動作になるかは、ここの設定に依存する。

 初期設定であるS1というのは、ACPIが定めるスリーピング状態の1つ。数字が増えれば増えるほど、システムに供給される電源が減っていく。S1ステートによるスリーピングは、CPUやメインメモリの内部状態(コンテキスト)が保持されたままであり、実行状態に復帰するのに必要な時間が短くて済む反面、多くのデバイスが電源を供給された状態であるため、消費電力は多い。消費電力が多いということは発熱も多いということであり、ファン類は停止しない。

 そこでスタンバイモードをS1からS3に変えてみた。S3は、CPUのコンテキストも保持されないスリーピングモードで、メインメモリの内容だけが保持される。すべての内容をメインメモリに書き込んで、システム全体が消費電力を極力低くした状態に遷移するため、サスペンド トゥ RAMとも呼ばれる。BIOSセットアップのACPIサスペンドステートをこのS3に設定すると、WindowsはスタンバイモードとしてS3を利用するようになる。そして、この設定であれば電源ファン、CPUの冷却ファン、ビデオチップにつけられた冷却ファンなど、すべてのファンが停止するのである。


 Windowsの電源オプションのプロパティには、PCの省電力モードとして、スタンバイ以外に休止状態(ハイバネーション)も用意されている(画面2)。休止状態は、必要な情報をすべてハードディスクに書き込むため、S3ステートを用いたスタンバイよりさらに消費電力を減らすことができる(当然、ファンも止まる)。しかし、シャットダウンされてしまうということは、タスクスケジューラなどで予約した作業を実施することもできないわけで、これではTVの予約録画は不可能だ。

【お詫びと訂正】
記事掲載後、休止状態でもタスクスケジューラによるタスクの実行が可能である旨のご指摘を多数いただいた。休止状態でタスクが実行できないというのは誤りで、実際にはタスクは実行可能であった。ここにお詫びするとともに訂正させていただきたい。

 スタンバイモードをS3に設定変更したところ、予約録画マシンは、普段は無音でありながら、予約時間の1分前に眠りから目覚め、録画が終了するとまた無音状態に戻る、という筆者が希望した通りの動作をするようになった(もちろん、これにはMTV1000のドライバや付属ソフトがちゃんと動くことも大いに貢献している)。これで、動作時のノイズを下げたければ、冒頭でも触れた静音グッズが必要になるのだろうが、今のところ我慢できている。

 非動作時にファンを止められるということは、単に動作音をゼロにできるというだけではない。ファンが回転しないということは、空気の流れがないということであり、PCの内部にホコリが溜まらない、ということでもある。24時間運転するPCは、ファンが作り出す空気の流れにより、ドライブベイの隙間、リムーバブルストレージのメディア挿入口などに、知らず知らずのうちにホコリが貯まる。ファンを止めることができれば、これも防止でき、CD-R/RWドライブやDVD-RAM/Rドライブなどのピックアップが汚れることも軽減できる(もちろん、省エネは電気代の節約にもつながる)。



●いまだ不安定なACPI周辺

 これですべてがうまくいった、と思っていたら、残念ながら必ずしもそう言い切れないことがしばらくして判明した。TVの予約録画に失敗する事件? が生じたのである。予約録画に失敗する直接の原因は、スタンバイモードからの復帰に失敗していることだが、毎回必ず失敗するというわけではない。また、以前は問題なくスタンバイから復帰できていたマシンが、なぜ失敗するようになったのかについての原因は、どうもハッキリしない。

 調べてみると、スタンバイ状態からの復帰失敗は、タスクスケジュールによるものだけでなく、マウスやキーボードによる復帰でも生じることが分かった。また、失敗する時と成功する時では、ハードディスクのアクセスランプの点灯パターンが異なることも分かった。そしてこの問題を、IntelのApplication Accelerator(IDEバスマスタドライバの後継にあたる)を導入することでおおむね回避できていることから、どうもWindows標準のATA/ATAPIドライバが怪しい、と睨んでいるのだが、ここだけが問題とも言い切れない気がしている。なんというか、ハードウェア、ソフトウェアを問わず、ACPIの周辺はまだまだ未完成な印象が強いのである。

【画面3】電源ボタンの挙動は、電源オプションのプロパティの詳細設定で変更できる

 表は筆者の手元にあったS3ステートをサポートしたマザーボードで、スタンバイ時にTVの予約録画が可能かどうか(タスクスケジューラによりS3ステートから復帰できるかどうか)を調べたものだが、結構動作がバラついていることが分かる。

 どうやらAWARD BIOSではS3ステートからの復帰に電源スイッチを押すことが必要なのだが、Windowsの電源オプションのプロパティでは電源ボタンはスタンバイスイッチではなく、シャットダウン(電源スイッチ)として定義しており、ちょっと納得できないところだ(画面3)。そもそもACPIが登場してきた大きな理由の1つとして、電源管理をBIOSで行なう(APM)のではなくOSで行なおう、ということがあったハズ。なのにOSが同じであるにもかかわらず、BIOSの違いで挙動が異なるのは、どうも納得がいかない。チップセットがどこのものだろうと、マザーボードがどこ製だろうと、WindowsがハードウェアをACPIシステムとして認識した以上は、同じ挙動を保証して欲しいと思うのだが。


【表】
マザーボードベンダチップセットBIOSベンダS3ステートS3からの復帰Standby時の予約録画
D850GBIntelIntel 850AMIありマウス/キーボード可能(S3)
AX4TAOpenIntel 850AWARDあり電源スイッチ可能(S3)
AK73Pro (A)AOpenVIA KT133AAWARDあり電源スイッチ不可(1、S3とも)
85DRVSoltekVIA P4X266AWARDあり電源スイッチ可能(S3)
いずれの場合も電源オプションのプロパティでは「コンピュータの電源ボタンを押したとき」は「シャットダウン」に設定

 また、Windows XPのスタンバイモードについては、このような( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q310601&&GSSNB=1 )問題もあることが知られている。要するにスタンバイに入るまでの時間を45分以上に設定すると、30分ごとに実行されるIdle Task Schedulerサービスがタイマをリセットするため、永久にスタンバイモードに入れない、というわけだ。この例がすべてとは言わないが、ACPIのサポートにはどうも問題が多く潜んでいるようで、どうも安定感に欠ける。筆者の予約録画マシンにしても、アプリケーションや周辺機器をうかつに追加すると、スタンバイモードから復帰できなくなったりする。


●ACPIの安定に向けてIntelやMSのイニシアチブに期待

 MicrosoftとIntelは、PCをシャットダウンせず、時間のかかるOSのロードを最小限にしよう、いつでもPCが使えるようにしよう、というイニシアチブを展開している(Microsoftの用語ではOnNow、Intelの用語ではInstantly Available PC)ハズなのだが、現状のACPIサポートをみていると、イニシアチブが浸透しているとは言いがたいように思う。筆者は、今、次の仕事マシンを準備しているところなのだが、使っていない時はファンが止まるシステムにするべく、ハードウェアの組合せに苦労している。


バックナンバー

(2002年5月23日)

[Text by 元麻布春男]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
個別にご回答することはいたしかねます。

Copyright (c) 2002 impress corporation All rights reserved.