Windows7で一定時間操作が無いとスリープモードに入る,はずがいつの間にかディスプレイが暗くなるだけでスリープしない状態に.
色々調べると,結果としては特定のデバイスがスリープへの移行を阻害しているとのことでした.
スリープを阻害しているデバイスを調べるためには?
下記コマンドを入力することで,スリープへ移行する際に阻害する原因の一覧を,ファイルに出力します.
powercfg /energy -output %USERPROFILE%\Desktop\energy.html
powercfgはwindowsの電源管理用コマンドです.
で,上記のコマンドを実行すると1分後ぐらいにenergy.htmlに電源管理時のエラーが出力されます.
すると以下のようなエラーが表示されます(一部)
Analysis Results Errors System Availability Requests:System Required Request The device or driver has made a request to prevent the system from automatically entering sleep. Driver Name \FileSystem\srvnet USB Suspend:USB Device not Entering Suspend The USB device did not enter the Suspend state. Processor power management may be prevented if a USB device does not enter the Suspend state when not in use. Device Name USB Root Hub Host Controller ID PCI\VEN_8086&DEV_2939 Host Controller Location PCI bus 0, device 26, function 2 Device ID USB\VID_8086&PID_2939 Port Path
一つ目のエラーを見ると分かるように,srvnetなるドライバが,スリープの中止を要求している(# ゚Д゚)
電源要求の設定を優先にするには
てことで,このドライバに対して電源要求の設定を優先するように設定する.
まずはコマンド上で再度スリープを阻害するプロセスやドライバを確認(管理者で実行すること)
powercfg -requests DISPLAY: None. SYSTEM: [DRIVER] \FileSystem\srvnet An active remote client has recently sent requests to this machine. AWAYMODE: None.
powercfg -requestsでディスプレイのターンオフ(DISPLAY),スリープへの移行(SYSTEM),AWAYモードへの移行(ARAYMODE)を阻害しているプロセスやデバイスが表示されます(ここでは,「SYSTEM」に先程の「srvnet」の名前が表示される.)
で,目標の「srvnet」に対して電源要求を優先するには下記のコマンドを実行する.
powercfg -requestsoverride DRIVER srvnet SYSTEM
-requestorverrideで,電源要求の優先を設定するオプションを指定.
DRIVER srvnetには,対象がプロセスであればPROCESS,ドライバであればDRIVERといった具合に指定して,その後には対象のドライバ名等を指定.
最後にオーバーライドするモードとしてSYSTEMを指定.
これで,自動でスリープするようになりました.(*^_^*)
参考は以下のサイトから(いつものように丸写しだけどな!!)
http://journal.mycom.co.jp/articles/2010/07/20/w7/index.html
- 作者: 山近慶一
- 出版社/メーカー: 技術評論社
- 発売日: 2011/12/09
- メディア: 単行本(ソフトカバー)
- 購入: 16人 クリック: 246回
- この商品を含むブログ (18件) を見る
- 作者: 飯島弘文
- 出版社/メーカー: 翔泳社
- 発売日: 2003/08/23
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 100回
- この商品を含むブログ (16件) を見る