デジタルガーデン
黑幕疑雲:再起動せざる救援
パソコンが一瞬固まった後、二つのディスプレイのうち副画面だけに映像があり、主画面は幕が下りたようだった——タスクバーはあるが、他はすべて黒い。プログラムはすべて生きていて、ただ全員が最小化されていた。これは SF の冒頭ではなく、本物のシステムイベントである。
一、メモリの天井貼りと DWM の猝死
第一ラウンドの読み取り専用診断は、たちまちタイムラインを锁定した。二十一時四十六分三十九秒、Windows が「仮想メモリ不足」診断を発動(イベント ID 2004)——当時最もメモリを食っていたのは java.exe 六・八ギガバイト、gakumas.exe 四・六ギガバイト、python.exe 三・九ギガバイト。実測時、物理メモリ三十二ギガバイトの空きはわずか〇・三二ギガバイト、コミットメモリは五十・〇 / 五十一・三ギガバイトですでに天井貼り。二十一時四十七分七秒、dwm.exe(デスクトップウィンドウマネージャ)が崩壊、故障モジュール dwmcore.dll、異常コード 0xC00001AD = STATUS_COMMITMENT_LIMIT——字面の意味は「コミット上限に達した」。
グラフィックカードが壊れたのではない——表示ドライバの TDR イベント(4101)は一切なく、RTX 5090 ドライバの状態は正常。黒くなったのは主画面(Redmi 27 インチ、2560×1440@164Hz)で、副画面(Dell S2719DGF)は無事。二十一時四十七分二十一秒、DWM は自動再起動したが、主画面の画面合成は恢复しなかった——「タスクバーは残る(タスクバーは explorer が描く)、他はすべて黒」という典型症状である。
二、標準療法の失效
標準脚本に従えば、Win+Ctrl+Shift+B(グラフィックカードドライバを再起動し強制再合成)は对症の薬である。それが効かなかった。第二幕が展開した——WindowFromPoint で黒画面領域のウィンドウ帰属を点ごとにサンプリングし、主画面関連ウィンドウの重ね順を引き出す——主画面の全サンプリング点は Discord のウィンドウに帰属し、Chrome 自身は黒く渲染されていた;しかし z-order にはまだ一隻の容疑者が鎮座していた——NVIDIA GeForce Overlay DT(CEF 浮窓、最前面、主画面を埋め尽くし、崩壊後に異常な「可視」状態にある)。
第三幕は四枚のスクリーンショットの審判であった——NVIDIA GeForce Overlay DT を隠したとたん、Chrome は即座に完全渲染された——まさにこれだ。TextInputHost、ChatGPT を続けて隠しても、Chrome は正常なまま;Chrome まで隠せば、デスクトップと cmd ウィンドウが正常に表示された。
真兇現る——NVIDIA グラフィックカード浮窓の渲染ウィンドウ(CEF-OSC-WIDGET)。DWM 崩壊後、それは異常な「可視」状態にあり、不透明の純黒を塗りたくり、主画面全面を埋め尽くした——ウィンドウの重ね順においてちょうどタスクバーの一层下に位置するため、タスクバーは常に見え、他はすべてこの「黒布」に覆われていた。Chrome、Discord、飛書は当初から正常だったのである。これは Win+Ctrl+Shift+B がなぜ無効だったかの説明にもなる——それが再構築するのはグラフィックカードドライバであり、黒画面は浮窓ウィンドウ自身の問題だからだ。
三、根治はメモリにあり
修復完了後、真兇は非表示に戻され、誤って隠した ChatGPT と Chrome のウィンドウは還元された。一つ技を記録に残す——今後 DWM が再び崩壊し画面が黒くなったら、Win+Ctrl+Shift+B 以外に Win+D(デスクトップを表示)をもう一度押して切り替える——最小化と復元が渲染サーフェスの再構築を強制する。
しかし診断書の最下行は未来に書かれたものだ——これは老毛病であって偶然ではない。システムログの「仮想メモリ不足」警告は十月七日から今までほぼ毎日出ており、元兇はおおむね固定——MuMu 模擬器(六・八〜七・五ギガバイト)、java インスタンス(合計十二ギガバイト)、gakumas ゲーム本体(四〜四・六ギガバイト)、Blender(六・三ギガバイト)、python、kilo-desktop。三十二ギガバイトの物理メモリに十九・九ギガバイトのページファイルで五十一・三ギガバイトのコミット上限、これらの大戸に合計五十ギガバイトまで圧し掛かられる。医嘱——模擬器・ゲーム・Blender・IDE を同時に開くな;MuMu の設定でメモリ上限を制限;ページファイルを大きくしてコミット上限に余裕を残す;タスクマネージャの「コミット済み」を監視し、上限の八十五パーセントを超えたら爆発の前兆。
真実の座標
- イベント線:21:46:39 仮想メモリ不足(ID 2004、java 6.8G / gakumas 4.6G / python 3.9G);21:47:07 dwm.exe 崩壊(dwmcore.dll、0xC00001AD STATUS_COMMITMENT_LIMIT);21:47:21 DWM 自動再起動するが主画面は恢复せず
- 症状機:主画面 Redmi 27 インチ 2560×1440@164Hz 黒(タスクバーのみ)、副画面 Dell S2719DGF 正常;表示ドライバ TDR(4101)イベントなし
- 真兇:NVIDIA GeForce Overlay DT(CEF-OSC-WIDGET)浮窓——DWM 崩壊後に異常可視・不透明の黒を塗りたくり・タスクバーの一层下;隠せば恢复、Win+Ctrl+Shift+B が無効だった理由
- 現場:コミットメモリ 50.0/51.3GB 天井貼り(32G 物理+19.9G ページファイル);崩壊後空きは 0.3G→9.5G に回復
- 医嘱:大戸名簿(MuMu 6.8〜7.5G / java 12G / gakumas 4.3〜4.6G / Blender 6.3G);10-07 以降ほぼ毎日の「仮想メモリ不足」警告;代替修法 Win+D の往復で渲染サーフェスを強制再構築
コメント