我拥有 Windows Vista Business,当我的机器出现故障时,我思考这是由于分页引起的,但是我不知道如何验证这一点。
Procexp 似乎没有提供有用的信息,因为当发生故障时似乎什么都没有发生。
perfmon 似乎有我需要的计数器,但我不确定应该添加哪些计数器来涵盖我想要的信息。对于 perfmon,我更喜欢百分比形式的数字,这样我就可以衡量负载。
以下是我设置的计数器,但它们似乎并不总是与 chug 相关:
- %磁盘时间(逻辑)
- 页面错误/秒(大量页面调换活动的指标)
- 处理器/%特权时间
答案1
我发现资源监视器对于诊断这种即使 Procexp 也无法突出显示任何内容的减速情况非常有用。我认为可以从 Vista 上的“性能和可靠性”工具访问它。感兴趣的页面是磁盘选项卡。我发现这会突出显示阻塞 IO 的进程。磁盘活动窗格将显示访问次数最多的单个文件。我经常发现这是 Windows Search 索引器服务写入 .edb 文件。
答案2
如果您的系统忙于页面交换,进程列表不会显示这一点,因为忙的是内核,它大部分时间都在忙于等待磁盘。每秒没有一个可以接受的神奇故障数,一旦超过,就很糟糕了。所以你的问题真的没有答案。
在现代机器上,CPU 比磁盘快得多,因此从 CPU 的角度来看,页面错误需要很长时间。如果您在交换上遇到麻烦,请获得更多内存或运行更少的东西。我意识到后者在 Windows 机器上可能很难(天哪,我真的需要运行 QOSTPRQ 服务吗??)。
答案3
看看我的前半部分XPerf 的回答,有了它,你可以详细分析你的问题。
答案4
您可以使用本指南来精简 Vista 服务,从而释放一些内存和其他资源:
如果可以的话,最好的建议是升级到 Windows 7。