我一直在互联网上寻找答案,但无法得到任何确切的答案。我似乎在标签内有一个非分页池内存泄漏,Proc
Windows 快速启动使情况变得更糟,因为它在关机后不会清除,只有重新启动后才会清除。我最初认为这是由于安装了 Armoury Crate 造成的,因为卸载似乎大大减缓了泄漏。但是,我仍然看到泄漏的迹象。使用poolmon
和xperf
WPA,我已确定它实际上是Proc
标签,但 WPA 返回的Unknown
结果显示消耗越来越多内存的进程。我可以使用其他方法来确定进程罪魁祸首吗?
xperf
我在 Windows 命令提示符中以管理员身份使用了以下命令:
xperf -on PROC_THREAD+LOADER+POOL -stackwalk PoolAlloc+PoolFree+PoolAllocSession+PoolFreeSession -BufferSize 2048 -MaxFile 2048 -FileMode Circular && timeout -1 && xperf -d C:\poolusage.etl
我在 WPA 中使用“Proc”标签看到了以下结果:
如您所见,标签会随着时间的推移而增加,并且不会减少。
以下是一次捕获poolmon
:
重新启动时,proc 标签只有 5MB,但如前所述,随着快速启动的启用,它会随着时间的推移而增大。
如果这些信息有用,我可以尝试提供更多必要的信息,包括计算机规格。我在 Windows 11 上运行 32 GB DDR5 RAM。
编辑:
根据用户 HelpingHand 的要求,我在玩视频游戏的 3 个多小时内捕获了一些数据:typeperf 集合。
但是,自从收集了这些数据后,我尝试了全新安装 Windows 11(根据用户 harrymc 的原始评论),但似乎仍然看到Proc
和Job
标签的相同问题。这次没有安装 Armoury Crate,我只安装了必要的驱动程序和程序。使用poolmonX v3,全新安装后,我仍然看到这些标签的数量有所增加。
我只看到这些标签变成绿色(增加),从未变成红色(减少)。我还注意到,NPaged Allocs
随着时间的推移,Proc
标签会慢慢增加。与我家里的其他系统相比,分配和释放的数字较大,但使用量较小,并且会随着时间的推移而减少。
我还注意到,与我家里的其他系统相比,explorer.exe 占用了大量的 NP 池。不过,我不确定这是否相关。
我知道这个问题有点愚蠢,但这也可能与硬件有关吗?我注意到我的 BIOS 有点过时了,但我不确定还有什么可以尝试解决这个问题。我确实使用 Memtest86 确保我的 RAM 运行正常。
答案1
我终于找到了问题的答案。这Proc
和Job
标签的增加似乎是由于我的 AMD 显卡驱动程序。我在这个中找到了此解决方案的提示旧谷歌论坛。我目前正在与 AMD 联系,报告我的发现。
我使用以下方法彻底卸载了驱动程序AMD 的清理实用工具,并发现Proc
和Job
标签正常减少了,如下图所示。
但是,重新安装最新的驱动程序后,我遇到了同样的问题,如下图所示。(请注意,这是在重启后立即发生的,因此Allocs
和Usage
并不像它应该的那样高)。
我相信唯一的解决方案是等待驱动程序更新,或者像用户 Ramhound 在下面的评论中所说的那样,恢复到不会产生此问题的旧驱动程序。