Surface Book 2をメインPCとして愛用しているのですが、作業中に突然ディスプレイがブラックアウトして、ひどいときにはそのまま復帰せずに手の施しようがなくなる……という現象に悩まされてきました(なんどかブルースクリーンにもなった覚えがあります)。
その際に調べたところでは、「デスクトップ ウィンドウ マネージャー(dwm.exe)」がメモリを数GB~数十GB程も占有している、という状況でした(通常は数十MB程度のはず)。
どうやらこれは、Surface Book 2(自分のは15")のIntel(R) UHD Graphics 620用のドライバーが原因だったようです。
「それなら、Intel® Graphics – Windows* DCH Driversを更新すればよいんでしょ?」となるわけですが……(少なくとも自分のところでは)一筋縄ではいかなかったので、試行錯誤の内容を備忘録として記しておきます。
せっかちな人向けの手順
デスクトップ ウィンドウ マネージャー(dwm.exe)のメモリリーク対策として、Surface Book 2のIntel® Graphics – Windows* DCH Driversを更新する手順を示す。
自分のところは「Surface Book 2 15"(8th Gen Intel® Core™ i7-8650U クアッドコア プロセッサ, 4.2GHz Max Turbo)」なので、ドライバー名等は自身の環境にあわせて適宜読み替えのこと
- デバイスマネージャーを起動して、
ディスプレイ アダプター>Intel(R) UHD Graphics 620のプロパティ>ドライバー
を確認。
これのバージョンが「30.0.101.1191」以降(例:「30.0.101.1339」)に既になっている場合、対策済みのはず - 上記よりも前のバージョンになっている場合(自分のところでは「27.20.100.8682」「26.20.100.8141」が存在)、同じくデバイスマネージャーから、
ディスプレイアダプター>Intel(R) UHD Graphics 620
の「デバイスのアンインストール」(「☑ このデバイスのドライバーソフトェアを削除します」にチェックの上で)を実施(必要に応じて再起動)し、
ディスプレイアダプター>Intel(R) UHD Graphics 620
が存在しなくなるまで繰り返す
自分のところだとディスプレイアダプター下には「NVDIC GeForce GTX 1060」のみが残った - MicrosoftのSurface 用のドライバーとファームウェアをダウンロードするページより、Surface のドライバーとファームウェアの手動更新から「Surface デバイス モデルを選択する」で自分のモデルにあったリンクに遷移した上で(Surface Book 2の場合はこちら)最新のドライバーとファームウェアをダウンロードの上、実行してインストールを実施
Surface Book 2の場合、ダウンロードされたのは「SurfaceBook2_Win10_19041_22.080.2839.0.msi」だった(2022/10/11現在) - 再起動後、Intel(R) UHD Graphics 620のドライバーのバージョンが「30.0.101.1339」(もしくは「30.0.101.1191」以降)になっていることを確認
不具合(dwm.exeのメモリリーク)の原因
www.intel.co.jp
に書かれている通り、デスクトップ ウィンドウ マネージャー(dwm.exe)がいつの間にか理不尽なほどにメモリを占有してしまう不具合は、Intel製ドライバーに起因するメモリリークが原因だった模様。
対象となるドライバー(Intel® Graphics – Windows* DCH Drivers)は、
- 「27.20.100.8587」以降で不具合発生
- 「30.0.101.1191」以降であれば対策済み
とのこと。
試行錯誤
とくになにもせずとも通常のWindows Updateのみでいつのまにか「30.0.101.1339」に更新された……というケースもあるようなので(Surfaceかどうかは不明)、あくまで参考まで……。
自分の場合、過去にも試行錯誤していたため、その際に余分なことをしてしまった可能性も大いにある
ドライバーのバージョンを確認してみる
自分の環境で確認してみると、「Intel(R) UHD Graphics 620」のドライバーは
- 日付:2020/09/06
- バージョン: 27.20.100.8682
となっており、見事に不具合発生するバージョンであった。
これは……なんとかしてバージョンアップをしなければ……!
なお、試しにデバイスマネージャーの「ドライバーの更新(P)」を行ってみたところ……バージョン「26.20.100.8141」(日付: 2020/04/11)になってしまった……待って……なんで下がるの……(その後、「ドライバーを元に戻す(R)」でとりあえず「27.20.100.8682」に戻しておいた)
Intel公式ページよりダウンロードしたドライバーはインストール不可
最初は単純に「Intel公式ページから最新のをダウンロードしてインストールすればいいんでしょ?」と思ったが、実際にやってみると「お使いのシステムには製造元の仕様にロックされたドライバーがあります」なる無慈悲なメッセージが表示されてしまい、インストールできない。
なお、そのあたりを配慮して更新してくれそうな「Automatic Driver and Software Updates」なるものもあるが、自分の環境だとインストールはできたものの、その後のダウンロードができない(インジケータが20数パーセントくらいまで進むと0になるを繰り返す→そのうちダウンロードがキャンセルされる)現象が発生し、うまくいかなかった
ドライバー/ファームウェアの最新版を入れてみたが……
Surface Book 2 更新履歴を見てみると、「2022 年 6 月の更新プログラム(6 月 17 日リリース)」のところに、
Surface Book 2 更新履歴 - Microsoft サポート
Windows Update の名前 デバイス マネージャー Surface - システム – 6.134.139.0 Surface Integration Service Device – システム デバイス Intel Corporation - ディスプレイ – 30.0.101.1339 Intel(R) UHD Graphics 620 (15") – ディスプレイ アダプター Intel Corporation - ディスプレイ – 30.0.101.1339 Intel(R) HD Graphics 620 (13") – ディスプレイ アダプター
という記述が……! これこそ自分が求めていたものではあるまいかっ!
喜び勇んでダウンロードセンターから最新版(SurfaceBook2_Win10_19041_22.080.2839.0.msi(Date Published:8/26/2022))をダウンロードし、インストール&再起動したところ……ドライバーのバージョンは「27.20.100.8682」のままだった……いや、なんでよ……?
ドライバーはアンインストールした上でのクリーンインストールが必要だった……!
なんどか入れ直したり再起動したりを繰り返すも、状況は変わらず。
さすがに諦めかけた頃に、もう一度このページを見直してみたところ、解決方法のところにしっかりと
dwm.exe の漏洩の修正プログラムを含むドライバー 30.0.101.1191 をインストールする前に、 ドライバーのクリーン・インストール を実行する必要があります。
dwm.exe (デスクトップ PC ウィンドウマネージャー) は、27.20.100.8587...
と書かれていることに気づく。
ダメ元だと、
- 念のため、インストールしてあったSurface Book 2 のドライバー/ファームウェア(Surface Book 2 Update 22.080.2839.0 (64 bit))をアンインストール
- デバイスマネージャーから、
ディスプレイアダプター>Intel(R) UHD Graphics 620
の「デバイスのアンインストール」を、
☑ このデバイスのドライバーソフトェアを削除します
にチェックした状態で実施(必要に応じて再起動)
ディスプレイアダプター>Intel(R) UHD Graphics 620の項目がなくなる(自分の場合、「NVDIC GeForce GTX 1060」のみが残る)まで繰り返し(「27.20.100.8682」「26.20.100.8141」の2つの削除が必要だった) - Surface Book 2のドライバー/ファームウェア(SurfaceBook2_Win10_19041_22.080.2839.0.msi)を再インストール
とやってみると……なんとっ!
見事に、バージョン: 30.0.101.1339(日付: 2022/01/22)のドライバーへと更新されていた……!
Windows Helloが使えなくなっちゃった!
無事更新されたと喜んだものの、なぜかWindows Helloによる顔認証が効かなくなってしまった……。
ログイン画面で「カメラをオンにできませんでした。PINを使ってサインインしてください。」とか言われる
自分の場合には幸いにして、
設定>アカウント>サインインオプション>Windows Hello 顔認証
より[認識精度を高める]を再度実施することによって、使えるようになった模様。
うまくいかない場合、こちらの記事などを参照のこと
とりあえず、この状態で様子見中。
この記事を書くきっかけ
2022/10/11に発生し、Windowsの動作が重くなったことで気がついたdwm.exeのメモリリークはこんな感じ。
2GB弱なので、まだまだ序の口という印象だが……。
過去にもいろいろと調べてみたものの抜本的な対策が見つからずにあきらめていたのだが、なんとか対応する方法はないものか……と再度調べてみると、Surface Book 2 更新履歴に対策されたらしき履歴があったので、試してみた次第。
過去のツイート等
ぎゃあああっ!
— 風柳 (@furyutei) 2021年9月8日
資料作っている最中にいきなりディスプレイがブラックアウトして、その後何をやっても映らないんですけど!?どゆこと?PC壊れた!?
うーむ、異常発生時付近のシステムログを見ると、仮想メモリの不足状態が検知されているのが怪しいかな…
— 風柳 (@furyutei) 2021年9月8日
>dwm.exe は 31177670656 バイトを消費
待って…dwm.exe(デスクトップ ウィンドウ マネージャー)で30GB近く消費って、いったい…🤔
うーん、画面ロック解除しようとするもしばらく反応なしという現象が発生したのでタスクマネージャーを開いてdwm.exeのメモリ使用量を調べてみたら4GB前後占有している…こんなに食うものとは思えないのですが。 https://t.co/GY8x2dchHK pic.twitter.com/pYgQkiSDCg
— 風柳 (@furyutei) 2021年9月24日
いきなりPCの画面がブラックアウトしてしまった…マウスボタンクリックすると「ポポポ…ポポ」みたいな音が鳴る…電源ボタン長押しでも反応なし(先の音も鳴らなくなった)…どうするべ?😱
— 風柳 (@furyutei) 2021年10月31日
とりあえず、キーボードから外して(Surface Book 2、取り外しボタンは機能した)電源ボタン長押し(20秒以上)で再起動したので、ホッとしています…
— 風柳 (@furyutei) 2021年10月31日
…ところでCドライブ君…きみ再起動前は18GBくらいでバーが赤色になっていた気がするんだけれど、なぜか容量増えてるね?🤔 pic.twitter.com/49I0OEwbui
仮想メモリのためにディスク容量が圧迫されていた考えるのが自然かな…
— 風柳 (@furyutei) 2021年10月31日
そうすると怪しいのはやはりデスクトップ ウィンドウ マネージャー(dwm.exe)か…https://t.co/XsEEzJryrM
イベントログを見ると直前に12GB程メモリを喰っていたようです pic.twitter.com/5rxCaN67Qe
— 風柳 (@furyutei) 2021年10月31日
またデスクトップウィンドウマネージャー(dwm.exe)がメモリを喰い荒らし始めたので、不安定になる前に再起動中…約2GB消費で、タブを開きまくっているChromeより多いってどういうことなんだ…
— 風柳 (@furyutei) 2021年11月12日
「安定動作のためにときどき再起動しましょう」はさっさと過去のものになって欲しいのだが…
またちょっと探してみましたが、たぶん、https://t.co/l6UXpirUBh
— 風柳 (@furyutei) 2021年11月12日
とかhttps://t.co/AmZRIOUSV1
のあたりと同根ですね、たぶん…
HD Graphics 630(Surface Book 2で使われている620も)の問題っぽくて、ドライバを古いのにしたら直るようなことが書いてある…?🤔
思い出した!
— 風柳 (@furyutei) 2021年11月12日
以前にもこれらの記事を見て、ドライバーをインストールしてみようとしたら、「このコンピューターでは無効です」と出て諦めたんでした(←すっかり忘れていたのですが、しっかりメモに残してあった…) pic.twitter.com/3F8Gx7LIxo
追記:
— 風柳 (@furyutei) 2021年11月12日
再度、exeじゃなくzipをダウンロード&解凍し、デバイスマネージャーから場所を指定してみたところ一応インストールできました(26.20.100.8141)が、Windows Hello顔認証をはじめカメラ関連が使えなくなってしまったため、元(27.20.100.8682)に戻さざるを得なくなりました…
最新版 https://t.co/3JguaoR0kX で試してみると(30.0.101.1069)添付のようなエラーが出るので、どうもMS側の事情でドライバーのバージョンがロックされているようですね… pic.twitter.com/TOydKhWHU4
— 風柳 (@furyutei) 2021年11月12日
うがーっ!Windows 10がブラックアウト〜[^1]!復旧しないので強制再起動…😭
— 風柳 (@furyutei) 2022年2月24日
dwm.exeさん、また23GB程専有してたのか…
[^1] タスクトレイのPADのアイコンに!マークがついていて停止したと出ていたので再起動試みたら画面が真っ暗に
うーむ、またdwm.exeがメモリを10GB以上専有していたところに、重い処理を動かしたのでめもりが食いつぶされて正常動作しなくなった模様…
— 風柳 (@furyutei) 2022年7月26日
特定のプロセスが閾値を超えてメモリを専有したら警告メッセージを出すって簡単にできたっけ…?