Windows8のクラッシュ(2)

投稿 2012年12月18日 11時44分35秒 | パソコン | hotall

人生には悩まされ続けた問題も、気が付けば解決していたということがあります。
先日色々調べたWindows8のクラッシュは、結局何の手だても打てませんでしたが、最近、クラッシュしなくなった事に気が付きました。
先日の調査ではビデオドライバ関連だと推測されたのですが、その後、イベントログにはダンプが記録されないクラッシュが結構あることが分かりました。
つまり、ビデオドライバとは別の原因があり、それが知らぬ間に解決されたようです。
そこで、最近行ったシステムの変更を思い出してみると、唯一思い当たるのがドライブの最適化の設定を変更したことです。
この文書は個人的なものであり、内容について一切の責任を負いかねます。



今回Windows8にバージョンアップした際に、システムディスク(Cドライブ)をSSDに換装しました。
SSDに対するデフラグは、効果が小さく、逆にSSDの寿命を短くしてしまうので、これをデフラグの対象から外しました。



[コントロールパネル] - [システムとセキュリティ] - [管理ツール] - [ドライブのデフラグと最適化]で設定の変更をクリックします。




頻度を毎日から毎週に変更し、対象ドライブからCドライブを外しました。
また、新しいドライブを自動的に最適化する設定を外しました。

以上が今回の変更点ですが、本日、ビデオドライバの更新通知がありましたので、ついでにアップデートしておきました。



バージョンはGeForce R310です。

これですべて解決すればいいのですが。

[追記]
上記投稿後、一か月が経ちますが、クラッシュはしなくなりました。
結局、ビデオドライバを最新にして、SSDの自動最適化(デフラグ)を無効にすることで解決できたようです。あるいは、最近、頻繁に行われたOSのアップデートによるものかもしれません。
原因はともかく、めでたし、めでたし。

[追記]
SSDの自動最適化(デフラグ)がSSDの寿命を短くすると書きましたが、Windows8ではSSDを考慮した最適化になったそうです。しかしながら、現状安定しているので、自動最適化の設定は無効のままにしています。

Windows8が勝手に起動(2)

投稿 2012年12月13日 10時30分50秒 | パソコン | hotall

夜、寝ている間に仕事を済ませてくれる小人がいれば...なんて考えることがあります。
それが、コンピュータに住み着いていることを私は知りませんでした。

先日、Windows8が勝手に起動する問題を対策したにも関わらず、まだ、夜中に勝手に起動しているようです。
もう少し調べる必要がありそうです。
この文書は個人的なものであり、内容について一切の責任を負いかねます。



まず、先日設定を変更したタスクスケジューラの設定をチェックしてみます。



すると、スリープの解除を止めたはずのタスクスケジューラ自身の設定 ([Microsoft] - [Windows] - [TaskScheduler] - [Regular Maintenance])が元に戻っています。
何らかのプログラムが設定を変更しているようです。
ネットで調べてみると、このスケジュールはOSの自動メンテナンス機能ということが分かりました。

自動メンテナンス設定を調べてみます。



[コントロールパネル] - [アクションセンター] - [メンテナンス] - [自動メンテナンス] - [メンテナンス設定の変更]で設定を確認できます。




やはり、スリープ解除が許可になっていました。
このチェックを外せば、スリープ解除を止めることができそうですが、この処理は、ソフトウェア更新、セキュリティスキャン、システム診断などOSのメンテナンス全般の処理を行っているようで、この処理を日中に裏でされると、パフォーマンスが落ちてしまったり、突然、再起動を求めたりなどと、かなり煩わしくなってしまいます。
その意味で、夜中に勝手やってくれるのは便利なような気もします。
しかしながら、慣れの問題かもしれませんが、夜中の起動はどうも気持ちが悪いです。
深夜寝静まった部屋で、突然パソコンが「ウィーン」「ピポ」、そしてディスプレが光り、しばらしてディスプレーが「ピピピ」と鳴って暗くなる。これが毎日続くとなると、ちょっと考えてしまいます。
試しに、スリープ解除を止めて、日中のパフォーマンスがどのくらい落ちるのかを調べてみることにしました。
それで、パフォーマンスの低下が気になるようなら、夜中の自動実行に戻そうと思います。
当面、この小人にはゆっくり眠ってもらいます。

Windows8が勝手に起動

投稿 2012年12月11日 11時39分07秒 | パソコン | hotall

パソコンがどんどん高機能化するにつれて、内部で何が行われているかわからなくなってきました。
コンピュータウイルスが蔓延する昨今、コンピュータのちょっとした振る舞いが不安にさせます。
Windows8にアップグレードしてから、日に数回システムが勝手に休止状態から起動するようになりました。
理由もわからないので気味が悪いですし、電気の無駄でもあります。
そこで、少し調べてみることにしました。
この文書は個人的なものであり、内容について一切の責任を負いかねます。



まずイベントビューアでログを調べてみます。



Systemログを"power-troubleshooter"でフィルタすると、起動情報が得られます。
すると、日に2回、定時刻に原因不明の起動(再開)が記録されていました。
2:59と18:32です。

そこで、タスクスケジューラで、その時刻にスケジュールされているタスクがないか調べてみます。



まず3:00にタスクスケジューラ自体がスリープを解除して起動するようになっていました。
([Microsoft] - [Windows] - [TaskScheduler] - [Regular Maintenance])
おそらく、管理しているスケジュールの設定などを行っているのでしょう。
もともと、シャットダウンしている場合は起動しないスケジュールですので、休止状態だからといって特別スケジュールが必要なケースも考え付きません。
テレビ録画など休止と起動を自動化するようなケースは必要となるかもしれませんが...
今回は、スリープ解除のチェックを外します。




OKボタンを押すとアイドル時間のエラーが出ます。
システムが設定した値なのにエラーなのは納得できませんが、とりあえず"1分"を設定しました。




次に18:32にメディアセンターがスリープを解除して更新処理を行うようになっていました。
([Microsoft] - [Windows] - [Media Center] - [mcupdate_scheduled])
これもスリープ解除を止めます。

その他にOSの自動アップデートがスリープ解除するようになっていましたが、毎日ではないので、そのままにしました。

ついでに、現在はスリープ状態が継続するようになっているようなので、節電の為に一定時間後に休止状態に移行するようにします。



コントロールパネルの電源プラン設定を変更します。
スリープ移行時間を短くし(30分)、休止移行時間を設定します(60分)。

これで、毎日の起動はなくなるはずですので、しばらく様子をみたいと思います。

[追記]
この後、3:00のタスクスケジュール(Regular Maintenance)の設定が元に戻る問題があり、更なる対策を行いました。

Windows8のクラッシュ

投稿 2012年12月06日 12時31分53秒 | パソコン | hotall

良かれと思ってやったことが期待通りにならず、現状より悪くなってしまうことが多々あります。
パソコンの操作性向上を期待してWindows8にアップグレードしてから、日に数回システムがクラッシュするようになりました。いわゆるブルースクリーン/BSoDです。
この頻度だと結構なストレスになるので、少し調べてみることにしました。
この文書は個人的なものであり、内容について一切の責任を負いかねます。



まずイベントビューアでログを調べてみます。
[Windows ログ]-[システム]タブをクリックしてクラッシュした時刻にエラー情報がないかチェックします。
すると次のようなイベントが記録されていました。
このコンピューターはバグチェック後、再起動されました。
バグチェック: 0x00000133 (0x00000001, 0x00000784, 0x00000000, 0x00000000)。
ダンプの保存先: C:\WINDOWS\MEMORY.DMP。レポート ID: 120512-18626-01。
このイベントに対するヘルプはありません。
そこでMEMORY.DMPの内容を見てみます。
この内容はデバッグツールで見ることができます。
下記のサイトからダウンロードして、インストールします。

Windows 8 用 Windows ソフトウェア開発キット (SDK)



WinDbgを起動します。




メニューから[Open Clash Dump]を開きます。




イベントログに記載されていたファイルを指定します。




ダンプの概要が表示されています。
詳細を表示するリンクをクリックします。

MODULE_NAME: nt
FAULTING_MODULE: 81615000 nt
DEBUG_FLR_IMAGE_TIMESTAMP: 50875219
DPC_TIMEOUT_TYPE: DPC_QUEUE_EXECUTION_TIMEOUT_EXCEEDED
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
BUGCHECK_STR: 0x133
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from 817391e8 to 816ae088
STACK_TEXT:
Page 1733f not present in the dump file. Type ".hh dbgerr004" for details
Page 1733f not present in the dump file. Type ".hh dbgerr004" for details
Page 1733f not present in the dump file. Type ".hh dbgerr004" for details
Page 1733f not present in the dump file. Type ".hh dbgerr004" for details
WARNING: Stack unwind information not available. Following frames may be wrong.
803feaa4 817391e8 00000133 00000001 00000784 nt!KeBugCheckEx
803feb10 8163fa23 0001a4c5 0001a4c6 00000002 nt!RtlCaptureContext+0x1166c
803feb38 81bc0fd4 81de2e60 ffffffff 803fecdc nt!KeUpdateRunTime+0x4c
803feb54 81bd260d 84b17902 000000d1 803fecdc hal!HalSetTimeIncrement+0x3efe
803feb74 81bbb1ea 81bbb2ea 00000000 85b31b78 hal!x86BiosWriteMemory+0x6ec1
803fecdc 816efcd2 803f0120 ffffffff 00000000 hal!KeQueryPerformanceCounter+0xbe
803fed40 81726f69 00000000 0000000e 807976a0 nt!PoNotifyVSyncChange+0x5b6
803fed50 816a6aca 00000001 00000000 803fed84 nt!KiDispatchInterrupt+0x699
803fed80 81836377 ffdf03d8 803feda0 00000000 nt!CcSetReadAheadGranularityEx+0xab
803fefc4 00000000 00000000 00000000 00000000 nt!EmClientRuleEvaluate+0x5528

何やらどこかの処理がデッドロックしてプロセッサキューがタイムアウトしているようですが、詳細は分からないですね。
ただ、スタックに固有の処理をイメージさせる"nt!PoNotifyVSyncChange"が表示されています。
このエントリーの詳細はネット上で検索できませんでしたが、名前からビデオドライバ関連のようです。
とりあえず、ドライバを最新にしてみることにしました。

私のビデオカードはNVIDEA GeForce 8800GTです。
NVIDEAのサイトから最新ドライバをダウンロードします。

 GeForce R304 Driver
 バージョン:306.97 WHQL
 リリース日:2012.10.10
 オペレーティングシステム:
  Windows Vista, Windows 7, Windows 8



現在インストールされているドライバのバージョンを確認しました。
バージョンは一致しているようですが、日付が微妙に新しくなっています。
念のため、これをインストールしました。
インストール後、再度バージョン情報を確認しましたが、変化はありませんでした。

結局、何も対策は打てませんでしたが、今後、ビデオドライバの更新を頻繁にチェックしたいと思います。

[追記]
この後、ビデオドライバの更新なしに、いつの間にかクラッシュしなくなりました。