闲置一夜后(我没有使用/自动睡眠或休眠;只有显示器在锁定后自动关闭),第二天,我的完全更新的 Windows 10 Pro 计算机将无法在鼠标或键盘活动时打开显示器。相反,计算机崩溃并重新启动。事件查看器显示许多与虚拟内存不足相关的错误事件,并且事件 2004“资源耗尽检测器”每 5 分钟记录一次,持续数小时。
事件 2004 “资源枯竭检测器” 通用
Windows 成功诊断出虚拟内存不足的情况。以下程序消耗的虚拟内存最多:sqlservr.exe (3020) 消耗了 343736320 字节,svchost.exe (7036) 消耗了 133574656 字节,MsMpEng.exe (2688) 消耗了 110944256 字节。
事件 2004“资源耗尽检测器”详细信息(仅限 SystemInfo,因为我的问题就出在这里)
<SystemInfo>
<SystemCommitLimit>49033330688</SystemCommitLimit>
<SystemCommitCharge>49031442432</SystemCommitCharge>
<ProcessCommitCharge>1374498816</ProcessCommitCharge>
<PagedPoolUsage>446369792</PagedPoolUsage>
<PhysicalMemorySize>17100132352</PhysicalMemorySize>
<PhysicalMemoryUsage>11527102464</PhysicalMemoryUsage>
<NonPagedPoolUsage>605999104</NonPagedPoolUsage>
<Processes>73</Processes>
</SystemInfo>
我对上述内容的分析如下:
SystemCommitLimit = 49,033,330,688 = approx 48 GB = 16 GB RAM + 32 GB Pagefile
SystemCommitCharge = 49,031,442,432 = approx 48 GB
ProcessCommitCharge = 1,374,498,816 = approx 1.4 GB
PagedPoolUsage = 446,369,792 = approx 0.5 GB
NonPagedPoolUsage = 605,999,104 = approx 0.6 GB
如果 SystemCommitCharge = 48 GB,但所有进程和驱动程序加起来只使用了不到 3 GB,那么是什么占用了其余的 45 GB 导致我的计算机崩溃?
我找到的所有有关调试此事件的信息都假设某个进程 (ProcessCommitCharge) 或驱动程序 (PagedPoolUsage/NonPagedPoolUsage) 正在泄漏内存。就我而言,我不知道从哪里开始调试此内存泄漏。