rcmdnk's blog

Microsoft Windows7 Home Premium 64bit Service Pack 1 日本語 DSP版 DVD LCP 【紙パッケージ版】

Windowsパソコンが設定時間通りにスリープに入らなかったり、 スリープにしておいたはずのパソコンがいつの間にかまた立ち上がってたり することがある時に調べる方法について。

今回使ってるのはWindows7です。

スリープに入らない原因を調べる

一定時間後にスリープに入る設定をしているにも関わらず スリープに入らないのは何らかのプロセスが動いていて邪魔してる事があります。

それを調べるにはpowercfgというコマンドが使えます。

まず、コマンドプロンプトを管理者権限で立ち上げます。

管理者権限で立ち上げるには、コマンドプロンプトを右クリックして 管理者として実行をクリックするか、 スタートメニューにcmdと入力し、Ctrl-Shift-Enter を押して立ち上げます。

立ち上げたら

C:\Users\user> powercfg -energy

というコマンドを実行します。 powercfgコマンドに-energyオプションを付けると 電源周りのチェックを行ってHTMLで結果を出力してくれます。

C:\Users\user> powercfg -energy
トレースを60秒間有効にしています...
システムの動作を監視しています...
トレースデータを分析しています...
分析が完了しました。

エネルギー効率の問題が見つかりました。

11 個のエラー
22 個の警告
18 個の情報

詳細については、C:\Users\user\energy-report.html を参照してください。

と言った感じにC:\Users\user\energy-report.html にレポートのHTMLが出力されます。(現在居るフォルダの中に出力)

出力先を変更したい場合は-outputオプションを使って

C:\Users\user> powercfg -energy -output report.html

のようにします。

今回見つかったのは

USB 中断:USB デバイスは中断していません
USB デバイスは中断状態になりませんでした。USB デバイスが使用されていないときに中断状態にならない場合、プロセッサの電源管理が行われないことがあります。
デバイス名 	N-trig DuoSense Composite Root interface
ホスト コントローラー ID 	PCI\VEN_8086&DEV_2935
ホスト コントローラーの場所 	PCI bus 0, device 29, function 1
デバイス ID 	USB\VID_1B96&PID_0001
ポート パス 	2

な感じのUSBデバイス。

取り敢えず繋いであるUSBデバイスを外してみたらこれも消えて スリープにもきちんと時間通り入る様になりました。

他にもバックグラウンドで動いているプロセス等が原因となってる場合もあるので その場合は適時プロセスを止めるなり対処します。

スリープから勝手に復帰する原因を調べる

Windowsではシステムイベントのログをコンピューターの管理から見ることが出来ます。

コンピューターを右クリック 管理をクリックして コンピューターの管理を立ち上げる 左の枠からイベントビューアーWindowsログ システム を選択。

日付と時刻を見ると、時間が大きく開いた箇所があるので、 それを目安にスリープ復帰時のイベントを探すことが出来ます。

そこで明らかに何らかの意味あるものが探せればよいのですが、 大概Kernel-Generalがソースで特に何も情報が得られないことが殆どです。

そこで、もっと情報を得るには再びpowercfgコマンドを使います。

powercfg-lastwakeオプションを与えると 今回スリープから復帰した時に何が原因か調べることが出来ます。

上と同様に管理者でコマンドプロンプトを立ち上げて

C:\Users\user> powercfg -lastwake
Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Wake Timer
    Owner: [SERVICE] \Device\HarddiskVolume3\Program Files\TeamViewer\TeamViewer_Service.exe (TeamViewer)
    Owner Supplied Reason: generic

こんな感じでWake Sourceを得られます。

今回は見ての通りTeamViewer が問題です。

確かに他の端末から繋げられるよう、TeamViewerのサービスを動かしては居ますが、 特に繋げるでもないのに勝手に復帰してしまいます。

TeamViewerにはWake-On-Lanの機能がありますが、 この端末では無効にしてあります。

TeamViewerでWake-On-Lan

以前からTeamViewerは動いていたのに 突然誤動作し始めた感じなので何かのアップデートでおかしくなったのか 他の何かとの関係なのか良くわからないのですが、 今回はこの端末にTeamViewerで繋ぐことはもう殆ど無いので 単にTeamViewerのサービスを止めることにしました。

取り敢えずスリープから勝手に復帰することはなくなりました。

Sponsored Links
Sponsored Links

« Macの特殊キーの意味 sort/lsコマンド出力での記号文字の順番のLC_ALL等への依存 »

}