treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

伝統的に推奨される省電力設定無効化

突然ですが省電力設定、どうされていますか?
本日は「ハードディスクの電源を切る」設定は無効にしておくほうがいいかもしれない、というご報告をいたします。

この設定、Windowsの電源管理設定から設定が可能です。ただ、WindowsのOS上での管理以外でUEFIBIOS)設定に存在する機種もありますし、メーカのPC制御ソフトウェア上でも設定値が存在する機種もあります。

影響

WindowsUpdateやバックグラウンドで動作するようなタスクが動作している場合、フォアグラウンドの動作が確認できないPCは省電力設定に基づいて、HDDやSSDなどのストレージに電源供給をしないようスリープ命令を送り込んでくることがあります。
バックグラウンドで動作するタスクがこれによってストレージの読み書きに影響して動作失敗、エラー、フリーズ、などの症状を引き起こす場合があるんですね。

概ね時間でディスクに対してアクセスがない場合にストレージだけOFFにしてしまう、というものなのですが、Windows Updateのようにユーザは操作しないけどディスクの読み書きを長時間実行しなければいけないようなタスクを実行しているところで問題が出ることもあります。

設定例

ThinkPadの場合には、WindowsのOS標準の設定と省電力マネージャーの設定が連動しているので、省電力マネージャで実行しておけば大丈夫です。
図:省電力マネージャの設定箇所

f:id:treedown:20160310120854p:plain

図の「ハードディスク電源オフ」とある箇所です。
いちおうWindows標準の電源管理設定の対象箇所の画面も掲載しておきます。
コントロールパネルから「電源オプション」を選択して利用中の電源プランにある「プラン設定の変更」をクリック、画面中の「詳細な電源設定の変更」をクリックすると別ウィンドウでこの画面が開きます。
図:OSの電源管理設定画面

f:id:treedown:20160310120904p:plain

画面中の「ハードディスク」⇒「次の時間が経過後ハードディスクの電源を切る」配下にバッテリ駆動時とACアダプタを接続時の給電タイムアウト時間設定項目があります。ここを0分にして設定なしとしてしまいます。

その他のメーカ機種ではメーカ独自で電源プラン設定を用意していることが多いので、ご利用の機種で省電力設定を確認してみるといいかもしれません。省電力マネージャのようにOSの電源プランと連動していてOS設定値を書き換えてくれるユーティリティもあれば、OS設定と別のレイヤで動作するソフトもあります。

この「ハードディスクの電源を切る」設定を無効にしておく、という出来事に一番最初に遭ったのは結構な昔の話になります。
この話、Windows Meの時代にさかのぼります

メーカーサポートからの指摘

今となっては影も形もない、SHARPがリリースしていたPCの話です。
昔はMebiusというブランド名でPCを展開していたものです。途中でMURAMASAというシリーズもありましたね。
このMebiusのOEMのOSがWindows MeになったタイミングでA4を10台、B5を5台社内で調達し、導入したことがあるのですが、このPCに共通して困った障害が発生していました。

ユーザ「時々フリーズするんですよ。で、編集中だったExcelファイルが無駄になってしまって作業が最初からやり直し。もう泣きそう…。」

こう言って対処を依頼する人が続出。システム部門としてはPCがA4のMebiusユーザであることが共通しているのにアタリを付けて、このMebius固有の何かが問題だと切り分けてメーカーサポートに相談することにしました。

何回かやり取りしているうちに、ハッとサポートのお姉さんが質問してきました。
BIOSの設定はなさいましたか?」
答えは「いいえ」です。デフォルト設定で使っていますよ。何かありますか?
BIOSを設定しなければ本症状は改善しないと思われます。」
え、本当ですか?BIOSって10台全部直接設定しないとだめですよね。
「まずは発生している数台から確認をお勧めします。」

設定を推奨されたのは、BIOSにある「ハードディスクの電源を切る」設定を「オフにする」という設定変更です。要するに一定の時間アクセスがない場合にハードディスクへの電源供給を断ってハードディスクを止めてしまう設定なのですが、この設定が原因でフリーズが起きている、という可能性を示唆された、というものです。

この日からシステム部門は15台のユーザと時間調整してBIOS設定を変更するように動きました。昔は今みたいにIntel AMTなどのテクノロジーは影も形もない時代ですから、直接PCの目の前に行かないとBIOS設定ができません。今ならIntel AMTでネットワーク経由でBIOS設定の変更も可能なのですがね。地方拠点のPCは代替機を送り込み、宅配便で返送してもらい回収することになりました。

これ以降、実際に結果としてフリーズは緩和され、ユーザが涙目になるようなことは少なくなったように記憶しています。ただWindows MeというOSの問題でフリーズするということはやっぱり不可避だったのですが。ミレニアムという言葉自体がこれまでの世界が終わり新たな千年を意味する言葉だけあって…終わってますな。(苦笑)

時は流れて…

現代はWindows10、Meから数えて6世代ですか…時の流れははやいものですね。
当時はBIOSの作りこみの問題なのかな?と思っていたのですが、正直言ってこういった制御ってパソコンやソフトウェアが目覚ましいほど進化しているのに、デバイスを直接制御する機能は「手放しで信頼したりできない」という状況です。他の進化と比べてあまり安定しないまま現在に至っていますね。別のいい方をすると「ユーザが価値を感じるところの進化に追い付いていけてない」という感じも受けます。
原理から考えても、「ハードディスクの電源を入れてからデータにアクセスする」という余計なステップが一つ挟まることでエラーや問題の発生は確率が上がりそうです。ACアダプタを接続しているのであれば、この設定は無効化しておいたほうがいいね、というのは(個人的には)16ビットWindowsの時代から変わらずの「伝統的設定」という位置付けになっています。

みなさんのPCはどうでしょうか?