当我在 Windows 中单击某个应用程序并等待 10 秒钟才能响应时,我感到很困惑。我想知道“您每秒可以运行 160 亿条指令,您做了什么让您无法响应我的鼠标单击。” 因此,我有兴趣收集有关如何设计可以诊断此类问题的应用程序的想法。我不是 Windows 专家,想知道其他人会建议什么方法。以下是我理想情况下希望能够做的事情:
识别任何导致系统变慢的应用程序、驱动程序或操作系统状态(例如经常被指责的注册表),并提醒用户注意。其中一些可以使用性能计数器来收集,其他方面我不太确定。我倾向于使用机器学习方法来确定系统是否陷入困境并帮助确定罪魁祸首(只要我既能设计出重现问题主要来源的示例,又能收集到足够的数据来确定罪魁祸首,这种方法是可行的)。
答案1
尝试免费的 Microsoft SysInternals 工具套件:大量用于分析的工具。请查看:http://technet.microsoft.com/en-us/sysinternals/default.aspx
更新:
您还应该考虑您已安装并在系统上运行的 Internet Security/Antivirus。这些软件将对您的系统性能产生影响,希望影响不大,但影响很大。您可以调整这方面的设置,其中最主要的、会产生重大影响的设置是后台扫描。我使用过 AVG、McAfee 和 Norton,Norton 似乎提供了最透明的视图,可以了解其正在做什么,因为它有自己的任务管理器和随时间变化的资源使用情况图表。我没有为其中任何一款软件工作,但我会推荐 Norton 而不是 McAfee,因为 McAfee 有时会神秘地定期严重减慢我的机器速度一分钟左右。
更新 2:
你说:
“您每秒可以运行 160 亿条指令,您在做什么让您无法响应我的鼠标点击?”
再补充一点。计算活动可以分为两种:计算密集型和输入输出密集型。计算密集型是指活动大部分或全部是计算,输入输出密集型是指活动大部分或全部是访问输入输出设备,如硬盘、其他外围设备(如网络)。有用的活动很少是其中之一,因为如果不使用计算来使其有用,您就无法真正只进行输入输出,如果您没有任何输入输出,那么您就没有什么可计算的。在您的情况下,活动似乎涉及输入输出组件 - 访问硬盘,这是最慢的组件。
更新 3: 回复:McAfee 偶尔会占用大量 CPU 的问题,据我最近发现,Norton 似乎也有自己的版本,尽管我没有像 McAfee 那样经常看到这种情况。Norton 占用大量 CPU 的问题在此处进行了讨论:http://community.norton.com/t5/Norton-Internet-Security-Norton/ccsvchst-exe-cpu-usage-Issue/mp/2888“ccsvchst.exe CPU 使用率问题”。因此我想提一下,以便提供一个公正的意见。不过,我还是会推荐 Norton,因为根据我的经验,我的版本会显示详细的资源使用率统计数据,如果您安装了 Norton,这将有助于解释您最初的问题。
答案2
要回答问题标题“分析你的 Windows 操作系统”,我建议尝试使用微软的Windows 性能工具包V5.0-包括西太平洋海岸(Windows 性能记录器)和水务及私人有限公司(Windows 性能分析器)。
它包含在Windows ADK。
它适用于 Windows 7 及更高版本。
其他起点:
- 资源监控(resmon.exe)- 包含在 Windows Vista(及更高版本)中。
- 微软的系统内部有各种工具。
答案3
试用该工具进程监控如果您想查看某个进程启动时执行的所有操作。顺便说一下,如今大多数“等待”都是在等待硬盘 - CPU 和内存的改进速度正在迅速超过硬盘速度的提升速度。如果您打开任务管理器,然后在启动程序时观察它,您可以看到实际使用了多少 CPU - 除非 CPu 达到 100% 并保持在那里,否则当硬盘试图向其提供信息时,CPU 处于空闲状态。