我有一个巨大的内存泄漏,标签为“NDnd”,最终占据了我的整个内存(8GB)。
Findstr 告诉我,hiberfil.sys
、pagefile.sys
或swapfile.sys
可能ndis.sys
是问题所在。
我很确定是的ndis.sys
,因为非分页池会随着任何类型的网络活动而变大。我该如何修复此泄漏?
我有一个 Windows 8.1 Pro 64 位系统,如果有帮助的话。
答案1
您必须使用xperf 来追踪导致使用的原因. 安装世锦赛,以管理员身份打开 cmd.exe 并运行以下命令:
xperf -on PROC_THREAD+LOADER+POOL -stackwalk PoolAlloc+PoolFree+PoolAllocSession+PoolFreeSession -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d pool.etl
捕获 30 秒的增长。使用 WPA.exe 打开 ETL,将池图添加到分析窗格。
将pooltag列放在第一位,并添加stack列。现在加载符号在 WPA.exe 中展开 NDnD 标签的堆栈。现在找到使用此标签的其他第三方驱动程序。查找驱动程序更新
答案2
可能相关:
2017 年 7 月 11 日 - KB4025339(操作系统内部版本 14393.1480)
解决了带有“NDnd”标记的非分页池中的内存泄漏问题,该问题导致操作系统崩溃。
https://support.microsoft.com/en-au/help/4025339/windows-10-update-kb4025339