症状
対応
- 完全メモリダンプをとる
- メモリダンプをWindbgで解析する
- ChatGPTにダンプ結果を読み込ませると、原因や調査すべき点を教えてくれるのでそれ頼りに進めた
- GeForceドライバーがあやしいと判明
- Clean-Toolを使ってドライバーを完全アンインストール
- ドライバーをインストールしなおす
- DPCのタイムアウト上限を増やした
でひとまず落ち着いた。
ダンプの概要
ファイルを読み込んでから !analyze -v
を実行。
DPC_WATCHDOG_VIOLATION (133) The DPC watchdog detected a prolonged run time at an IRQL of DISPATCH_LEVEL or above. Arguments: Arg1: 0000000000000001, The system cumulatively spent an extended period of time at DISPATCH_LEVEL or above. Arg2: 0000000000001e00, The watchdog period (in ticks). Arg3: fffff80078f1c340, cast to nt!DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK, which contains additional information regarding the cumulative timeout Arg4: 0000000000000000
!dpcs
コマンドで深堀すると次のような結果が得られた。
CPU Type KDPC Function 0: Normal : 0xffff9209d6c54d40 0xfffff800796c6ca0 Wdf01000!FxInterrupt::_InterruptDpcThunk Unable to load image \SystemRoot\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_cc569e59ca39c5fe\nvlddmkm.sys, Win32 error 0n2 0: Normal : 0xffff9209d5f91160 0xfffff800967155c0 nvlddmkm 0: Normal : 0xffff9209d72daee0 0xfffff80095bcaf20 nvlddmkm 0: Normal : 0xfffff80078e3bc00 0xfffff800784fe150 nt!PpmCheckPeriodicStart 0: Normal : 0xffff9209d6206ca0 0xfffff800796c6ca0 Wdf01000!FxInterrupt::_InterruptDpcThunk 0: Normal : 0xfffff80078e42300 0xfffff800785585c0 nt!KiBalanceSetManagerDeferredRoutine 0: Normal : 0xffff9209cc6c7970 0xfffff800786271f0 nt!$$3 0: Normal : 0xffff9209cc7dc838 0xfffff800785b5200 nt!EtwpLoggerDpc 0: Threaded: 0xfffff80071868758 0xfffff8007877a640 nt!KiDpcWatchdog 7: Threaded: 0xffffe7004e719758 0xfffff8007877a640 nt!KiDpcWatchdog
GeForceのドライバが正しく読み込めてなさそう。
試したけど効果のなかったもの
- システムファイルの修復
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
- ディスクの修復
chkdsk /f
- SATAのデバイスドライバを標準に戻す
- Microsoft Visual C++ 2010 再頒布可能パッケージをアンインストールする
- そういう記事がヒットしたので削除してみる。このランタイムを利用しているソフトウェアが当然のことながら動かなくなる
- Memtest
- メモリ増設時に走らせて問題なしだったが、改めて走らせてみる
- 問題なし
- メモリ増設時に走らせて問題なしだったが、改めて走らせてみる
- OCCT
- 負荷テストを1時間、種類を変えたり混合したりで問題なし
- DDUを使ってグラフィックドライバの完全削除、インストール
- USB機器の自動電源オフのチェックを外す
- 外付けSSDを外す
- NVIDIA オーバーレイを無効にする
- 仮想メモリの設定変更
- システム管理にした。メモリフルダンプをとるために増やした
- 蟹のLANとサウンドのドライバ更新
- Bluetoothアダプタのドライバ更新
- NVIDIAコントロールパネルより電源管理モードを「パフォーマンス最大化を優先」
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device\NoLPM
にSSD追加USBXHCI.SYS
でエラーが起きているようなのでドライバーの再インストール- UEFIの設定をドスパラの初期設定にあわせる
- 電源モードを画面から「バランス」に変更
参考
- Microsoftのプログラマー向けのドキュメント: バグ チェック 0x133 DPC_WATCHDOG_VIOLATION - Windows drivers | Microsoft Learn
- Windows 8/10、WinDbg、割り込み、DPC
- Updating firmware on an LPe12000-series adapter resulted in DPC Watchdog Timeout Violation
- タイムアウト値の変更の参考
メモ
最初からメモリダンプをとってダンプを解析すれば最速で原因にたどり着けた。メモリダンプの内容は正直、専門外なので操作説明などを読んだり、ChatGPT使ったりして読んだ。ChatGPTがポジティブめのことを言うのでだいぶ助けられた。
マシン自体は今のところ、正常に動作している。原因を絞るためにSSDを交換したり、ソフトやドライバーの更新、不要なソフトのアンインストールを行った結果、トラブル前より動きはよくなった。
Clean-Toolはフォーラムでファイルへのリンクだけ見つけられたけど、配布ページが見つからないのでリンクは省略。
PC関係の設定を変えたらメモをとっておくといくらかトラブルシューティングの足しになるかもしれない。いい感じに設定をテキストで管理できないものか。