nvlddmkm のイベント ID 13 と nvlddmkm.sys のクラッシュ: ドライバーのリセットと TdrDelay
nvlddmkm のイベント ID 13 は NVIDIA のディスプレイ ドライバーが記録したものです。Display 4101 は Windows がドライバーをリセットしたことを示します。TdrDelay を上げてもフリーズが長くなるだけです。
nvlddmkm は NVIDIA のディスプレイ ドライバー nvlddmkm.sys のサービス名です。そのため、ソースが nvlddmkm のイベント ID 13 はこのドライバー自身がシステム ログに書き込んだエントリで、同じ時刻の Display のイベント 4101 は、ドライバーが応答しなくなり Windows がそれをリセットしたことを意味します。TdrDelay を上げてもどちらも直りません。Microsoft はエンド ユーザーが TDR のレジストリ キーを変更すべきではないとしており、遅延を長くしても、固まった画面がリセットまでより長くフリーズしたままになるだけです。w0a はこれらの値を一切書き込みません。w0a の GPU のクラッシュ回復カードはこれらを削除し、Windows の既定値が再び適用されるようにします。
nvlddmkm、イベント ID 13、イベント ID 4101 とは
nvlddmkm.sys は NVIDIA のディスプレイ ドライバーのうちカーネル モードで動く部分です。ファイル自体のプロパティには「NVIDIA Windows Kernel Mode Driver」と書かれており、Windows はこれをサービス nvlddmkm として実行します。ドライバーがシステム ログに書き込むイベントは、このサービス名をソースとして持ちます。
イベント ID は、ソースと組み合わせて初めて意味を持ちます。ソース Display の 4101 は、ドライバーのリセットについて Windows 自身が残す記録です。ほかのソースも同じ番号を使います。この記事の内容を確認した PC では、システム ログのほかの 24 個のソース (Tcpip や Dnscache を含む) が独自の 4101 を定義していました。nvlddmkm の 13 は、NVIDIA のドライバーが自分で選んだ番号です。
Windows はこの 13 を一文で説明できません。このガイドを確認した PC (NVIDIA ドライバー 621.01) では、ソース nvlddmkm にメッセージ ファイルが登録されていないため、イベント ビューアーはイベント ID の説明が見つからないと表示し、そのあとにドライバーが添付したテキストをそのまま表示します。Microsoft の TDR のドキュメントにも NVIDIA の ID は載っていないので、このガイドは意味を推測しません。手がかりになるのはドライバーのテキストと時刻です。
一方、Display の 4101 は文章で書かれています。本文は「ディスプレイ ドライバー … が応答を停止しましたが、正常に回復しました。」で、省略記号の位置にドライバー名が入ります。
ドライバーのリセットとは
Microsoft はこの仕組みを タイムアウトの検出と回復 (TDR、Timeout Detection and Recovery) と呼んでいます。GPU が現在のタスクをタイムアウト内に完了も中断もできないとき、OS は GPU がフリーズしたと判断し、システム全体が応答しなくなるのを防ぐために Windows がグラフィックス カードをリセットします。既定のタイムアウトは 2 秒です。回復に成功すると、Windows はディスプレイ ドライバーが応答を停止して回復したことを示すメッセージを表示し、そのメッセージをイベント ビューアーに記録します。
リセットがそこで終わるとは限りません:
- リセットが繰り返されるとブルー スクリーンになります。 既定では、1 分以内に 5 回以上の GPU のハング (0x117) とそれに続く回復を検出すると、Windows は 6 回目のハングで PC をバグ チェックで停止します。
- リセットに失敗するとすぐにブルー スクリーンになります。 バグ チェック 0x116 VIDEO_TDR_FAILURE は、ディスプレイ ドライバーをリセットしてタイムアウトから回復する試みが失敗したことを示します。この停止コードについて Microsoft 自身が示す分析例では、障害の起きたモジュールとして
nvlddmkm.sysが挙がっています。 - ゲームが黒い画面のままになることがあります。 Microsoft によると、一部の古い DirectX アプリケーションはこの回復の終わりに黒い画面しか描画しないことがあり、その場合はユーザーがアプリケーションを再起動する必要があります。
イベント ビューアーでイベントを探す
- Windows + R を押し、
eventvwr.mscと入力して Enter を押します。 - 左側のウィンドウで Windows ログ を開き、システム を選びます。
- ソース の列見出しをクリックして一覧を並べ替えます。
Displayとnvlddmkmのエントリがそれぞれひとまとまりになります。 - エントリを選び、一覧の下の 全般 タブを、その時刻と イベント ID と合わせて読みます。
PowerShell なら、同じ一覧を 1 行で新しい順に出せます:
Get-WinEvent -FilterHashtable @{ LogName = 'System'; ProviderName = 'Display', 'nvlddmkm' } -MaxEvents 30 | Format-Table TimeCreated, ProviderName, Id -AutoSize
PowerShell がイベントは見つからなかったと答えた場合、どちらのソースもシステム ログにエントリが残っていないので、このページは手がかりになりません。ほかの記録は ゲームがクラッシュした原因は? で扱っています。
見つけた記録の読み方
時刻を並べて読みます。画面が暗くなって戻った瞬間の Display の 4101 は、うまくいったリセットです。同じ分の nvlddmkm のエントリは同じ出来事に属します。1 分以内に 4101 がいくつも並び、そのあと再起動している場合は、上の「1 分間に 5 回」の規則に当てはまります。そのブルー スクリーンのダンプからは ゲームがクラッシュした原因は? が引き継ぎます。
確認すること (変更は 1 つずつ)
Microsoft の 0x116 の解決方法 はドライバーから始まり、次にハードウェアを挙げています: オーバークロックされたコンポーネント、コンポーネントの互換性と設定の誤り (特にメモリの構成とタイミング)、冷却不足、電源不足、部品の故障です。どの変更が効いたか分かるように、手順ごとにテストしてください。
- ドライバーをクリーンに入れ直します。 Microsoft によると、TDR の処理を正しくサポートさせるには、ディスプレイ ドライバーの最新の更新プログラムのインストールが必要な場合があります。NVIDIA アプリで ドライバー を開き、インストール済みのドライバーで 再インストール を選び、カスタム インストール を選んで クリーン インストール にチェックを入れます。アプリはこの項目を「ドライバの設定とプロファイルをすべて初期設定に戻します」と説明しています。1% Low を安定させるクリーン インストール では、Display Driver Uninstaller を含めたドライバーの完全な入れ直しを順に説明しています。
- グラフィックス カードのオーバークロックを外します。 NVIDIA アプリの システム > 詳細設定 にある デバッグモード をオンにします。アプリの説明は「現在 GPU に適用されているすべてのオーバークロック設定 (ユーザー設定・工場設定を含む) を、再起動するまで無効化します。」です。w0a でオフセットを適用した場合は、w0a の グラフィックス カード ページにある 既定値に戻す で工場出荷時の値に戻ります。
- メモリを既定の設定でテストします。 メモリの構成とタイミングは Microsoft の一覧に入っているので、XMP や EXPO のプロファイル、手動で詰めたタイミングは、一度それらなしでテストする価値があります。RAM は定格速度で動いているか? で、プロファイルの確認方法とモジュールのテスト方法を説明しています。
- 冷却と電源を確認します。 負荷時の GPU 温度は ゲーム中の CPU と GPU の温度 を参考に見てください。PC が勝手に電源も落ちる場合は、ゲーム中に PC が再起動・シャットダウンする で電源側を扱っています。
- ゲームを更新します。 Microsoft のチェックリストは、グラフィックス負荷の高いアプリケーション (ゲームなど) に修正プログラムがすべて適用されていることを求めています。
w0a が TdrDelay や TdrLevel を書き込まない理由
TDR の遅延を変えるとは TdrDelay を既定値より上げることで、TDR を切るとは TdrLevel を 0 にすることです。Microsoft の TDR のレジストリ キーのリファレンス はどちらについてもはっきりしています。これらのキーはドライバー開発中のテストとデバッグ専用で、エンド ユーザーはこれらのレジストリ キーを操作すべきではありません (「End users shouldn't manipulate these registry keys.」)。
2 つの値が何をするかは同じページから分かります。TdrDelay は事実上タイムアウトのしきい値で、既定は 2 秒です。ハングしたカードはこの時間が切れて初めてリセットされるので、数値を大きくしてもハングは止まらず、リセットまで画面がフリーズしている時間が長くなるだけです。TdrLevel の 0 は Microsoft の表で「Detection disabled」(検出無効) とされています。Windows がハングに気づかなくなるので、カードをリセットするものがなくなります。
w0a は TDR の値を一切書き込みません。TdrDelay と TdrLevel は w0a の禁止リストに入っており、バックアップからの復元でもこのリストを越えられません。理由は実機です。以前の w0a のビルドは TdrDelay を 10 秒に上げており、その実機でこれらのキーが CS2 をフリーズさせました。w0a が行うのはその逆です。
Fix ページの GPU のクラッシュ回復 カードは、HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers の下の TdrLevel、TdrDelay、TdrDdiDelay、TdrLimitCount、TdrLimitTime を削除します。値がなくなると、Windows は既定値で動きます: 回復はオン、タイムアウトは 2 秒、TdrDdiDelay は 5 秒、60 秒以内に許されるリセットは 5 回です。カードを探すには、ページの検索ボックスに tdr と入力します。何かを削除した場合は再起動を求め、削除するものがなかった場合はそう表示します。
このカードは GPU のハングを止めるものではありません。Windows 自身の救済を元に戻すだけで、原因は引き続き上の確認項目のどれかです。
カクつき探偵 は直近 24 時間の Display の 4101 イベントを数え、TdrLevel の 0 が回復を切っている場合に警告します。
よくある質問
nvlddmkm のイベント ID 13 はどういう意味ですか?
NVIDIA のディスプレイ ドライバーが自分のソースで書き込んだエントリで、Windows はこれに対する独自の説明を持っていません。ドライバーが添付したテキストを 全般 タブで読み、同じ分に Display の 4101 があるか探してください。あれば、ドライバーはリセットされており、上の確認項目が当てはまります。
ブルー スクリーンに nvlddmkm.sys と出たら、ファイルが壊れているのですか?
そうとは限りません。VIDEO_TDR_FAILURE について Microsoft 自身が示す例でも nvlddmkm.sys が挙がっており、Microsoft が挙げる原因はドライバーからオーバークロック、メモリ設定、冷却、電源、部品の故障にまで及びます。バグ チェックで名前が出たドライバーについて、Microsoft はドライバーの更新がないかそのメーカーに確認するよう勧めています。
クラッシュを止めるために TdrDelay を上げるべきですか?
いいえ。Microsoft はエンド ユーザーが変更すべきではないとしており、TdrDelay を長くしても、ハングしたカードを Windows がリセットするまで長く待つだけです。古いツールがこの値を上げていた場合は、GPU のクラッシュ回復カードが削除します。
TdrLevel を 0 にして TDR を切れますか?
切れますが、それこそが問題です。Microsoft は 0 を「Detection disabled」(検出無効) としています。そうなると Windows はハングをまったく検出しないため、カードをリセットしません。リセットは、システム全体が応答しなくなるのを防ぐためにあります。
画面が戻ったあともゲームが黒いままなのはなぜですか?
Microsoft によると、一部の古い DirectX アプリケーションはこの回復の終わりに黒い画面しか描画しないことがあり、再起動が必要です。ゲームを再起動してください。リセットが続く場合は、上の確認項目を順に試してください。
関連
- ゲームがクラッシュした原因は? 信頼性モニターとイベント ビューアー
- 1% Low を安定させるクリーン インストール
- ゲーム中の CPU と GPU の温度: 正常な範囲とは
- RAM は定格速度で動いているか? XMP、EXPO、デュアル チャネル
- ゲーム中に PC が再起動・シャットダウンする: Kernel-Power 41
アンチチートが起動しない場合に、Secure Boot と TPM 2.0 を確認し、BitLocker でロックされずに有効にする方法: アンチチート (VALORANT、FACEIT) 向けの Secure Boot と TPM 2.0: 確認と有効化
Pro の 3 日間トライアルはアプリ内から Discord を通じて受け取り、カードは不要です: 無料トライアルの仕組み
このページは役に立ちましたか?
何が足りなかったか、何がうまくいかなかったかを教えてください。いただいた内容はすべて読んでいます。
送信されるのは、入力した内容とこのページの名前だけです。サーバーは不正利用を防ぐために接続元の IP アドレスも記録し、報告と一緒に削除します。16 歳未満の方は、この欄を使わないでください。 プライバシー ポリシー
このページで解決しなかった場合は、ご連絡ください。どの記事を読んだかを書いていただければ、その記事を修正します。