スキップしてメイン コンテンツに移動

GTX1070 nvlddmkm.sys のフリーズがようやく直った

1年以上悩まされてきたNvidiaドライバ nvlddmkm.sys関連の突発フリーズ現象をようやく解決できた。
ここに至るまでにやったことと無駄だったことを記録しておく。なお現象は

  • 「前触れ無く当然フリーズする」
  • 「エラーメッセージが出ず、画面そのままでリセットボタンも効かない」
  • 「イベントログを見ても原因が書いてない(Kernel Power 41、いわゆるKP41状態)」
  • 「ゲーム中ではなくブラウズや動画再生などで頻発」
  • 「起動後ログイン画面で放置しているだけでフリーズすることも」
  • 「ベンチマーク的な性能は問題なく出る」
  • 「minidumpを読むとnvlddmkm原因で死んだらしいことがわかる」
  • 「たまにストップコードDPC Watchdog ViolationやSystem Thread Exception Not Handledが記録される」

という感じ。


決定打になった対策は「グラボを外して装着し直す」


たぶん本当にこれだけ。詳しく書くと

オンボードグラボドライバをDriver Fusionで全部消す
→ グラボを外す
→ オンボードで再起動
→ オンボードドライバ再インストール
→ グラボ無しならフリーズしないことを確認
→ グラボドライバをダウンロード
→ ネット切断
→ グラボを装着
→ グラボ+全Nvidiaドライバをクリーンインストール
→ 再起動
→ ネット再接続

の流れ。ドライバ、電源、ソフトウェア関係を疑った
あらゆる対策が効かず、苦肉の策で試したこれが
まさか当たったという感じ。


効果があったような気もする対策


試した中で多少なりともフリーズ頻度が減った対策。
ただ、対策直後はフリーズが収まっても
次の日にはより悪化したりもするので、まったく信用ならない

  • MacTypeを無効化する
  • 仮想ドライブ系ソフトをアンインストールする
  • VirtualBoxをアンインストールする
  • UltraVNC Serverをアンインストールする
  • 使ってないUSB機器を本体から外す
  • グラボドライバをネット切断状態で全消しして再インストール

今回の「グラボ外して再装着」も
数日後にはここのリストの
仲間入りをしているかもしれないが。


効果がまったく無かった対策


ネットを探して出て来た対策のうちやっても全く効果が出なかった対策。

  • チップセットドライバのアップデート
  • あらゆるドライバのアップデート
  • グラボのドライバを消したあとnvlddmkm.sysだけ抽出して個別に入れる
  • 未使用デバイス(オンボードグラフィックス含む)のドライバを全削除
  • レジストリ編集でDPC Watchdogの閾値を増やす
  • Intel Management Engineのアップデート
  • Intel Rapid Strageのアップデート
  • Intel AHCI/SATAコントローラドライバを標準ドライバに変える
  • その他のアプリを全アップデート
  • コンセントを抜いて5分置いたあとUSB機器全部外して再起動する
  • マルチモニタをやめてみる
  • あらゆるEvent Logのエラーをとにかく潰しまくる
  • アップデート監視などの常駐プロセスを殺しまくる
  • あんまり使ってないソフトを片っ端からアンインストールする
  • スタートアップ修復に望みをかける
  • chkdsk.exe, sfc.exe, Dism.exeなど修復系コマンドに望みをかける
  • メモリのXMPプロファイルを有効にする
  • メモリの供給電圧を5~8%ぐらい増やしてみる
  • BIOSのVRM Switching Frequencyを固定にする
  • 高速スタートアップをオフにする
  • 電源管理の省電力系設定をオフにする
  • BIOSの省電力系設定をオフにする
  • BIOSのアップデート


異常が見つからなかったテスト


  • スタートアップ修復
  • Windowsトラブルシューティング
  • chkdsk.exe, sfc.exe, Dism.exe
  • Memtest86+
  • BIOS自己診断
  • (当然だけど)SSDのS.M.A.R.T.
  • 3DMarkやその他重いゲームでGPUに負荷をかける行為
  • CinebenchなどでCPUに負荷をかける行為
  • 温度センサやファン速度の監視
  • PC内のホコリやゴミ料
  • コンセントからの供給電圧安定性


まとめ ~最後は叩いて直せ~


ネットで出てくる症状と酷似していても、情報通りの対策が効くとは限らない(ある意味当たり前)。
しっかり装着したつもりでもゴミかホコリか微妙な斜め装着かでグラボが正しく動作しないことがある。

というわけで、
「何を試してもダメだったら、最後は叩いて直せ」




ちなみに、これだけ何やっても解決できなかったフリーズなので
「どうせ今度もまた数日後には再発してるんでしょ」
みたいに諦めを孕んだ恐怖がずっと消えません。

コメント

匿名 さんのコメント…
kazu35と申します。
ブログに関係のないコメントで申し訳ございません。
やみ さんの投稿…
なんだろう
むっそ幕府 さんの投稿…
ほぼまったく同様の症状で困っています。
だいぶ過去の記事なので、当時の様子を覚えていらっしゃらないかもしれませんがその後フリーズは改善されましたでしょうか?
よければ教えていただきたいです。
やみ さんの投稿…
> むっそ幕府さん

記事の方法では結局解決しませんでした。

私の場合、フリーズの真相はメモリのビット化けでした。
MemtestのRow Hammerテストをしてエラーが出る状態だとフリーズも再現します。
解決方法ですがBIOSセットアップでメモリのリフレッシュレートを倍にしました。
これでRow Hammerテストはエラーにならず、フリーズ現象も完全解決しました。
むっそ幕府 さんの投稿…
やみさん
ご連絡いただきありがとうございます。
非常に参考になる手順のご連携頂きありがとうございます、これから実施してみます。

逐一こちらのサイトに足を運んでコメント欄チェックしていてよかった!(涙

やみ さんの投稿…
おお、まだ見ててもらえたとは。

ちなみにリフレッシュレート倍にした後も続きがあります。
PCを刷新するため新しいマザーを買ってきて、そこにもともと使っていたメモリを載せたところ
BIOSすら起動しない状態になりました。

以前のマザーがH170、新しいものがH670、世代が進んだことでタイミングとかがシビアになったのかもしれませんが、
結局メモリモジュールの不良というのが真相でした。
モジュールには永久保証がついていたので交換して解決です。
むっそ幕府 さんのコメント…
やみさん

ご丁寧に教えていただきありがとうございます。

あれからメモリのリフレッシュレートを倍に。という設定が調べてもいまいちわからず
「モニター側のHz(リフレッシュレート)」ではなく、メモリ(物理的に2枚刺さってるアレ)のリフレッシュレートを変更する。という認識で誤りないでしょうか・・・。
図々しい申し出になるのですが、参考になるサイトなどご教授いただけないでしょうか。
Twitter:@mussobakufu
やみ さんの投稿…
> 「モニター側のHz(リフレッシュレート)」ではなく、メモリ(物理的に2枚刺さってるアレ)のリフレッシュレートを変更する。という認識で誤りないでしょうか・・・。

合ってます。

・BIOS ないし UEFIの設定に入って
・Memory Refresh Rate ないし Refresh Interval 的な項目を探して
・数字を倍増させる(Intervalだったら半減させる)

みたいな感じです。個々のBIOSの設定画面は細かく違うのであとは使ってるマザーの名前で調べるのがいいかなと。
むっそ幕府 さんのコメント…
ご返信ありがとうございます。
Lenovo製のPCを買ったこともあり、マザボもLenovoの物でしてご教授いただいた項目がありませんでした・・・。
ここまで色々と本当にありがとうございました。