如何*诊断* Windows 资源管理器频繁冻结

如何*诊断* Windows 资源管理器频繁冻结

在我的 Windows XP 机器上,每当我浏览文件系统(或使用开始菜单)时,Windows 资源管理器(包括任务栏)经常会无响应几秒钟(有时长达一分钟),这种情况很常见。这可能会让人有点沮丧……

我怀疑这可能是由于发生了某些网络访问问题,但我不确定,也不确定哪些应用程序/服务可能导致了这个问题。有没有办法找出 Windows 在这些冻结期间正在做什么(或试图做什么),以便我可以稍微缩小搜索范围?

我并不是想列出要尝试的事项清单,因为我已经尝试过很多这些事项(例如碎片整理、网络驱动器等)——但似乎没有什么可以解决问题。我真正想要的是找到一种方法来诊断(或调试)正在发生的事情,这样它就不会仅仅变成“尝试这 100 种不同的方法,看看会发生什么”的猜谜游戏。但也许这是不可能的?

更新:Windows 的“性能监视器”性能监视器似乎是迄今为止诊断此类问题的最佳方法(感谢 JP 的指点) - 但我仍然很难成功地使用它,主要是因为它提供的选项太多了。我对要监控的内容做了一些有根据的猜测,但到目前为止,我能收集到的最佳信息是以下进程在冻结期间有不寻常的 CPU/数据 IO/页面错误:cssrslsassexplorer由于这些都是非常标准的 Windows 进程,我不确定这是否有助于缩小原因范围.....还有其他建议吗?

答案1

只需使用 ProcMon(进程监视器)检查事件即可。按 explorer.exe 进行过滤,然后按类别网络进行过滤。Mark Russinovich 的一段引言:

使用 Process Monitor 排除挂起故障时,您首先应该查看操作时间戳中是否存在与挂起持续时间相匹配的间隙。您可以通过将“持续时间”列添加到显示中来查找耗时较长的操作,然后确保过滤掉通常不会立即完成的操作(如目录更改通知)。当您没有看到操作之间有明显的时间间隔时,这种方法很有用,因为进程有多个线程,其中一些线程继续运行,而导致挂起的线程处于休眠状态。

答案2

我认为最好的方法是采用如下工具进程探索器并尝试将冻结与特定进程联系起来。也就是说,当问题发生时,CPU 上正在运行什么进程?您应该首先清除尽可能多的非必要进程,并让系统运行精简(甚至可能是安全模式,没有网络或外部驱动器),然后查看问题是否仍然发生。如果没有,那么您可以一次添加一个进程,看看是否可以隔离罪魁祸首。如果它发生在安全/精简模式下,则您的问题更严重,可以从实际在该模式下运行的程序开始。

每条评论:您可以使用 perfmon 并添加要跟踪的 CPU 和网络使用情况,并随时间推移记录 perfmon 日志。这样,当您遇到冻结时,您可以返回并查看当时的 perfmon 日志,看看是否可以关联任何内容。

答案3

您是否正在运行某种防病毒软件?我发现,例如,McaFee 会导致机器出现这些症状 - 冻结、烦人的暂停,但 CPU 使用率很低或没有。您可以尝试暂停该过程,但如果您暂停了错误的事情,可能会导致整个系统冻结。

还要检查磁盘错误,看看http://smartmontools.sourceforge.net/看看磁盘本身是否有问题。

相关内容