诊断 Windows 10 资源管理器停顿(如果 ProcMon 可以防止停顿发生)

诊断 Windows 10 资源管理器停顿(如果 ProcMon 可以防止停顿发生)

几个月来,每当我打开新窗口时,文件资源管理器都会卡顿 30 多秒,而且当我从某些 Windows 10 程序打开“打开文件”或“保存文件”对话框时,也会出现类似的卡顿。这些卡顿并不完全一致,但一旦发生,就会严重影响工作效率。

我采取措施清除文件资源管理器缓存、禁用快速访问以及采取其他各种建议,但都没有成功。

之后,我采纳了建议,研究了进程监视器 (ProcMon) 的问题,并发现了一个非常奇怪的现象:只要 ProcMon64.exe 正在运行,停顿现象就不会再发生。关闭 ProcMon 后,这种现象似乎会持续一段时间(可能长达一分钟),然后停顿现象又会再次出现。

虽然 ProcMon “解决”了我的停顿问题,但试图让它一直运行以摆脱停顿问题,这很不美观,也有点不切实际(尤其是因为 ProcMon 大约一小时后就会崩溃)。而且,令人深感烦恼的是,这使得我无法调查停顿发生的原因,因此我无法追踪是否有后台程序、服务或插件参与其中。

是否有人知道其他调查方法,或者知道为什么启动 ProcMon 可以防止发生停顿?

答案1

更新后发现,虽然 ProcMon 通常不会导致停顿发生,但我让它运行了一整天(每当它崩溃时就重新启动它),最终在启用它的情况下发生了一次停顿。

这使我能够追踪到原因,该插件创建了一个驱动器映射(到我的 P:驱动器),该插件无法支持根目录(在 P:/ 中)的文件,因为它伪造了一堆非 Windows 网络目标文件系统作为子目录(即“P:/ <target_ip> /”)。

事实证明,某些 Windows 功能(可能是搜索索引或日志记录?)正在尝试在 P:/ 中创建文件,并且该文件创建操作需要 30-45 秒才能超时并失败。

禁用第三方插件是一种临时解决方案,但并不理想,因为在某些情况下我确实需要访问非 Windows 远程文件系统来完成我的工作,而且一直安装和删除插件很麻烦。因此,我将寻找某种方法来排除 P: 驱动器,无论 Windows 10 功能试图在根目录创建文件,并且如果需要修改插件以防止 Windows 将 P: 驱动器视为真实驱动器,也许会联系插件开发人员。

如果有人更擅长阅读 ProcMon 日志条目,这些是我所看到的示例(其中第二列是持续时间):

11:38:18.6641941 AM   61.9618572        Explorer.EXE      8364      CreateFile              P:\         SUCCESS             Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
11:39:21.2780279 AM   29.3647640        Explorer.EXE      8364      CreateFile              P:\         0xC000022D      Desired Access: Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, AllocationSize: n/a

相关内容