数字花园

黑幕疑云:一次不重启的救援

2026-10-12 · 约 6 分钟 · 排障 · DWM · NVIDIA · Windows · 内存

电脑卡了一下之后,两个显示器只剩副屏有画面,主屏像被拉下的帷幕——任务栏还在,其他全是黑。程序都活着,只是全体被最小化。这不是科幻片开场,这是一次真实的系统事件。

一、内存的顶格与 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),副屏(戴尔 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 设置里限制内存上限;页面文件调大给提交上限留余量;盯”已提交”超过上限八成五,就是炸前的前兆。

真实坐标

评论

← 数字花园