当我的 CPU 没有受到限制时,如何诊断 EC2 Windows 实例上的高 CPU 利用率?
上次更新日期:2021 年 4 月 7 日
我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例的 CPU 利用率高,但实例的 CPU 并未受到限制。如何诊断高 CPU 利用率?
简短描述
您可以使用实例中的任务管理器查看使用最多 CPU 的进程。如果需要,您还可以使用性能监视器或进程资源管理器深入了解导致高 CPU 利用率的进程。
确定导致高 CPU 利用率的特定进程后,可以对该应用程序进行故障排除。
解决方法
使用任务管理器确定造成高 CPU 利用率的原因
- 使用远程桌面协议 (RDP) 连接到您的实例。
- 打开任务管理器,然后选择 CPU 列以按 CPU 排序。
- 分析具有高 CPU 利用率的进程,以确定它们的 CPU 使用量是否符合预期。
- 对 CPU 使用量比预期多的应用程序进行故障排除。
如果所有应用程序的 CPU 使用量都符合预期,请考虑更改实例类型。有关更多信息,请参阅如何为我的 EC2 Windows 实例获取更多 CPU 和内存?
使用进程资源管理器确定造成高 CPU 利用率的原因
进程资源管理器是 Microsoft 提供的 SysInternals 实用工具。要使用进程资源管理器,请按照下列步骤操作:
- 将进程资源管理器下载到您的实例。
- 以管理员身份启动该应用程序。
- 选择 CPU 列以按利用率对进程进行排序。
- 选择查看,然后选择显示进程树以查看进程之间的父子关系。
使用性能监视器确定造成高 CPU 利用率的原因
如果仍无法确定高 CPU 利用率的原因,请使用性能监视器和日志性能分析 (PAL) 工具。性能监视器是 Windows 内置的工具。
要使用性能监视器,请按照下列步骤操作:
- 使用 RDP 连接到您的实例。
- 打开性能监视器,然后展开数据收集器集。
- 打开用户定义的上下文菜单(右键单击),然后选择新建,再选择数据收集器集。
对于名称,输入新数据收集器集的名称。
选择手动创建(高级)。 - 选择下一步。
- 对于创建数据日志,选择性能计数器,然后选择下一步。
- 选择添加。
对于可用计数器,选择 Process,然后选择 % Processor Time。
对于选定对象的实例,选择所有实例。
选择添加。
对要添加的任何其他性能计数器重复此步骤。 - 选择确定。
- (可选)根据需要设置采样间隔和单位。
- 选择下一步。
- 选择具有至少 1 GB 可用空间的位置来存储数据,然后选择下一步。
- 选择保存并关闭,然后选择完成。
注意:如果您当前看到 CPU 利用率出现峰值,则可以选择立即启动该数据收集器,然后选择完成。
等性能监视工具完成数据收集后,您可以打开并查看报告,以确定哪些进程正在使用实例的 CPU。然后,使用这些信息来对使用 CPU 的具体要求应用程序进行故障排除。
使用日志性能分析 (PAL) 生成分析报告
PAL 是第三方工具,您可以使用它从性能监视器文件生成报告,以进行更深入的分析。若要使用 PAL,请按照下列步骤操作:
- 安装 PAL,启动 PAL 向导,然后选择下一步。
- 对于性能计数器日志,输入性能监视器文件的路径,然后选择下一步。
- 对于标题,选择系统概览,然后选择“下一步”。
注意:系统概览提供总体操作系统性能分析。 - 查看并回答问题部分中每个条目的问题。对于操作系统,从列表中选择最新并且与您的实例的位数匹配的操作系统版本。选择下一步。
- 选择处理计数器日志中的所有计数器,然后选择下一步。
注意:处理所有计数器实例可能需要使用大量资源。 - 对于输出文件夹,选择 PAL 报告的输出目录。
- 对于 HTML 报告,请选择 HTML 报告,然后选择下一步。
- 选择下一步,然后选择完成。
- 查看 PAL 报告的进程和处理器部分,以确定哪些进程正在使用实例的 CPU。