在过去的几天里,我遇到了一个非常奇怪的问题,打开资源管理器窗口后,Explorer.exe 开始占用我所有的系统内存(16GB)。如果我重新启动该进程并且不打开任何资源管理器窗口,它不会占用超过正常的 50-70 MB,但一旦我打开,它就会跳到 200-500MB 并不断稳步攀升。经过几个小时的研究,我遇到了这个问题什么可能导致资源管理器“泄漏”内存?这解决了我关于“更新 3”部分的问题。但是,我继续研究,发现只有选中“显示缩略图而不是图标”选项时才会引发泄漏。资源管理器内存使用情况和资源管理器内存泄漏(由于我刚刚创建此帐户,所以还不能发布图片)。
我的问题是:有什么方法可以阻止 Explorer 尝试在 RAM 上加载我的所有文件的缩略图?因为这是我能想到的唯一正在发生的事情。我真的需要选中该选项才能查看缩略图,而不必单独打开每个文件来查看它是什么。或者是否有其他 Explorer 软件可以代替默认软件。
此外,我有一个选中了缩略图选项的进程转储,但我不知道是否应该将其上传到某个随机站点并将链接粘贴到这里,或者是否有选项将其附加到问题中。
答案1
在考虑为什么 Windows 进程会出现内存泄漏时,在涉及太多技术问题之前,首先要考虑的是哪些第三方模块被加载到了该进程中。
在这种情况下,从 Explorer.exe 的转储文件中,以下模块被识别为第三方,主要基于无法从公共 Microsoft Symbols 服务器为它们加载符号:
- C:\Program Files\CopyTrans HEIC for Windows\CopyTransHEICforWindows.dll
- C:\Program Files (x86)\Common Files\Adobe\CoreSyncExtension\CoreSync_x64.dll
- 目录:\Windows\System32\guard64.dll
由于应用程序的性质,CopyTransHEICforWindows.dll 被首先选中。用户的反馈是,重命名此 DLL 或卸载相关产品后,Explorer 不会加载它,问题也随之消失。
答案2
正如@HelpingHand 所提到的,与 explorer 混淆的文件来自 CopyTrans,这是我之前安装的一款软件,后来忘记了。我没有重命名特定的 dll,而是卸载了该程序,因为我不再使用它了。卸载此程序完全解决了这个问题,我不再遇到 explorer.exe 导致的内存泄漏。