Windows 10 Pro - 未计入的系统提交费用 - 资源耗尽

Dan*_*rry 3 memory crash windows-10

闲置一夜后(我不使用/自动睡眠或休眠;只有显示屏在锁定后自动关闭),我的完全最新的 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>
Run Code Online (Sandbox Code Playgroud)

我对以上内容的分析:

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
Run Code Online (Sandbox Code Playgroud)

如果 SystemCommitCharge = 48 GB,但所有进程和驱动程序总共提交的空间少于 3 GB,那么是什么提交了另外 45 GB 的空间,导致我的计算机崩溃?

我能找到的有关调试此事件的所有信息都假设进程 (ProcessCommitCharge) 或驱动程序 (PagedPoolUsage/NonPagedPoolUsage) 正在泄漏内存。就我而言,我不知道从哪里开始调试这个内存泄漏。

小智 5

我运行的是 Windows 10,但也遇到了完全相同的问题。大量物理内存 (16GB),其中大部分是空闲的,但巨大的已提交内存 (25GB) 最终触发了内存不足错误。解决方法:

  • 获取 Sysinternals Process Explorer。
  • 以管理员身份运行。
  • 添加“页面错误”列并按该列排序。
  • 就我而言,顶部条目是 RunSwUSB,它有大约 1300 万个条目!

我停止了该服务,您可以立即在下图中看到结果。

提交的内存