| 2007年2月20日17時01分 | windows vistaでおきている問題。 おそらく、nvidia geforceなGPUをつんでいる、日本では あまり多くない数のPCで同時多発している模様。
aeroglassをonにした状態で、動作をさせ、 デュアルモニタで別モニタにウインドウを移動させたり、 複雑なポリゴンを描写させたり負荷をあたえてみたりすると、 10〜15秒ほどハングアップしたのち、画面がブラックアウトし、 「nvlddmkmが応答を停止しましたが、正常に回復しました。」 というエラーがでる。
このとき復旧できないこともあってその場合は STOP : 0x00000116 (0x116,116)のコードの青画面エラー(いわゆるBSOD)が 発生してリセットされる。
============================= 説明 ビデオ ハードウェアの問題により、Windows は正しく動作しなくなりました。
問題の署名 問題イベント名:LiveKernelEvent OS バージョン:6.0.6000.2.0.0.256.1 ロケール ID:1041
問題の説明に役立つファイルです (利用できない可能性があるファイルもあります)。 WD-20070219-0608.dmp sysdata.xml Version.txt =============================
解決策がみつからないのでこまっております |
| 2007年2月20日19時01分 |  ディスプレイ ドライバの応答停止と回復 ディスプレイ ドライバ nvlddmkm が応答を停止しましたが、 正常に回復しました。 |
| 2007年2月23日21時54分 | 続報。グラフィックがハングするこの現象、 microsoftのサイトに理由の説明と、仕様がざっくりかいてある ページがあることをさっき発見しました:
WDDM によるタイムアウトの検出と GPU の回復
ここを見ると、GPU がスケジューラからの回避要求を遅延できるタイマが 存在していて、常に監視ループがはいっているようです。 つまり処理してるからまっててねと宣言してシステムがしびれを きらすまでの時間(≒ GPUが停止したかどうかのウォッチドッグタイマー)が2秒。 そのあと、コード VIDEO_TDR_FAILURE (0x116) を含むシステムのバグ チェックを するらしく、スレッドがドライバの処理を中断することが許可される秒数分チェックします。 これが5秒。 実際にそのあと画面がフラッシュして、映像が帰ってくるのに ディスプレイの自動画像解像度調整に依存した数秒が かかるため、都合約10秒ハングアップすることになり、 記述がほぼ一致します。
さて、ここの文書をみると、レジストリをみるとしびれを切らすまでの 秒数を変えることができるらしいのです。ちょっといまから やってみて、のちほどレポートしようとおもいます。 |
| 2007年2月23日22時13分 | 1個誤りが。
>オペレーティング システムで、スレッドが >ドライバの処理を中断することが許可される秒数の部分、 >、オペレーティング システムは、 >コード VIDEO_TDR_FAILURE (0x116) を含むシステムの >バグ チェックを行います。既定値は 5 です。
とあるため、5秒間応答できない場合その後チェックなので 5秒 + チェックに要する時間 数秒間、つまりすくなくとも ここで5秒以上ハングアップすることになります。
|
| 2007年2月23日22時47分 | この問題を解決中に違う問題で困っていたのを発見。 特にノートPCで、自動で画面の電源が切れる状態になる 設定をしていて、休止・サスペンドすると画面だけ もどってこないという問題(vncだと見れたりする)を 抱えてらしてる方に朗報(windows xp)。 特にdynabook satelliteや、thinkpadの古い機種でありがち なので、おきる方は自己責任で、慎重かつ大胆にtryしてみて。
KB823348:キーを押してもモニタが点灯しない場合がある
1)レジストリエディタを開く (regedit.exe) 2)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers を 検索するか、ツリーからさがす 3)ツリーの場所まで行ったら、その下に LidCloseSetPower という名前でキーをつくる。 4)フォルダのようなものがそのツリー直下にぶら下がれば成功。 5)再起動する。
|
| 2007年2月24日00時24分 | つづきですよー。
以下の負荷をかけて、下記のレジストリを調査しました。 ・(1)IE7でyoutubeにあがっていて比較的高画質高レートの映像をフル画面で 再生しつつ、ウインドウをつかんで激しく動かしまくる ・(2)ntuneに含まれるシステム安全性>診断>システム安全性テストでGPUテストを実行 ・(3)上記の2つを同時実行
「TdrDebugMode」フラグ このフラグが存在していなければ規定値「2」が書いてあるものと同義になる。 ⇒「0」 にセット(TDR_DEBUG_MODE_OFF) ・不具合がおきて、「2」にセットしたときにリセットが起きる条件を満たした瞬間、 カーネルに割り込みをかけてすべての画像描写動作をストップするみたいです。 チョークスリーパーがかかって落ちそうになっているのに助けを求められません。 画面描写に不具合が起きた瞬間画面はかたまったままになります(涙。
⇒「1」 にセット(TDR_DEBUG_MODE_IGNORE_TIMEOUT) ・タイムアウト監視をオフにします。監視しないので、ドライバをリセットしません。 つまり都度起こる10秒ハングしません。 ハングしませんが、リセットされないので不具合がたまると突然青画面で死にます。
⇒「2」 にセット(TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL) ・規定値。機械的に回復処理を行うようで、回復が復旧に確保された時間までに まにあわなくても強制復旧するらしい。この場合は元の画面が生成できず、 画面がまっくろでマウスだけ帰ってきてしまい、再度ドライバリセットが発生する。 画面が固まってから成否に関係なく復旧時間がほぼ同じ時間らしい。
⇒「3」 にセット(TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL) ・2にセットしたときに起こる、とにかく制御を返す姿勢を改め、 きちんと画面が描写できる状態まで回復を待つ。このため真っ黒画面で 帰ってくることはないが、若干復旧までの時間が遅くなる。 動画やポリゴンが激しいと画面を1こつくったあとすぐ次の応答ができず 息切れを起こし、連鎖してまたドライバリセットが起きやすい模様?
この実験中わかったことは、システムに負荷がかかり画面描写が重くなることに 厳格な処罰を下す仕組みがあるようです。コマ落ちしないとまにあわないとき、 標準では2秒以内にコマ落ちします!と宣言できないと、ドライバがリセットされる ようでした。動画を再生してうごかしまくるとコマが落ちるのですが、落ちた状態 しかも音声が先行して動画が遅れてくる状態になるとき、「2」と「3」ではリセット されますが、「1」ではその状態でもそのまま動作し続けました。「0」にすると 続行不能になります。 |
| 2007年2月28日22時23分 | いろいろ実験した結果、 tdrLevel 3 TdrDelay 1 TdrDdiDelay 2 TdrDebugMode 3
上から tdrLevel => TdrLevelRecover(3) 規定値のまま ・タイムアウト時の回復。 このフラグは設定がいりません。これ以外にすると 画面が戻ってこなくなります。
TdrDelay => 1にする ・GPU がスケジューラからの回避要求を遅延できる秒数。 これは、事実上のタイムアウトのしきい値です。 既定値は 2 です。
…とありますが、GPUがハングしてから2秒は復活猶予を あたえ、その間画面はかたまるがマウスは動く状態、 になります。長くしてもたいてい一度固まると戻ってこない上、 その分待ってしまうためにいらいらが募ります。 ボクシングでダウンして意識がなくなってるのにカウントを60ぐらい とるのと等しい状態に陥るので、思い切って短くします。
TdrDdiDelay => 2にする オペレーティング システムで、スレッドがドライバの処理を 中断することが許可される秒数。指定時間以降、OSは、 コード VIDEO_TDR_FAILURE (0x116) を含むシステムの バグ チェックを行います。既定値は 5 です。
…ですが、これに遷移するとマウスが固まり、OSに メディカルチェックが走ります。5を指定すると5秒間 メディカルチェックが走るのですが、どうせGPUは リセットしないと元に戻らない状態に陥っているので、 短くします。長くしてもすでにTdrDelayでダウン判定 くらってるので、画面が固まってる時間が長くなるだけで 改善しませんでした。
TdrDebugMode => 3にする TDR プロセスのデバッグ関連動作。 TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) は、 一部の回復条件が満たされていない場合 (連続して タイムアウトが発生した場合の回復など) も、回復処理を 実行します。
…ということですが、一部の回復条件が満たされてない状態を 待っても連続して即死することが多いのか、条件が満たされない のか、デフォルトだと一度はまると激しく回復処理ループに 陥ってなかなかかえってきません。まるで、愛の思い出を つかわずにオリビアの岬に突入している勇者様ご一行 のようです。
3にすると無理やりでも立ち直らせようとするので、多少緩和されます。
…となりました。
レジストリ操作はリスクが伴います。ぱんかれは責任とれませんので、 at own liskでやってみてください... |