如何使用 PerfInsights 诊断高 CPU 或磁盘使用率问题

原始产品版本: Azure
原始 KB 数: 4021853

本文介绍如何使用 PerfInsights 诊断 Microsoft Azure 中的 CPU 或磁盘使用率高问题。

使用 PerfInsights 收集日志数据

  1. 按照常规 PerfInsights 用户指南启动 PerfInsights,然后按照以下步骤操作:

    1. 输入Microsoft 支持部门请求编号。

    2. “选择故障排除方案 ”对话框中,选择“ 自定义配置”。

    3. “模块执行 ”对话框中,选择“ 性能诊断”。

    4. 单击 “确定” 继续。

      “选择故障排除方案”对话框的屏幕截图,其中选择了“自定义配置”。

      “要执行的模块”对话框的屏幕截图,其中选择了“性能诊断”。

  2. 等待 PerfInsights 收集系统信息。 完成该作业后, 将显示“启动性能诊断跟踪” 窗口。 如果问题仍然存在,请单击“确定继续。

    “启动性能诊断跟踪”窗口的屏幕截图。

  3. 此时会显示“停止所有跟踪”窗口。 建议等待几分钟,让该工具捕获足够的数据进行诊断。 然后,单击“确定停止诊断。 最终的诊断结果将包含在 CollectedData_<DateTime>.zip 文件中。

    “停止所有跟踪”窗口的屏幕截图。

分析诊断报告以查找性能问题

  1. 按照常规 PerfInsights 用户指南打开 PerfInsights 报表 html 文件。

    如果在性能诊断作业期间捕获了任何高 CPU 或磁盘使用率数据,则会在“查找”选项卡上显示警告消息。这些消息包含指向“CPU 使用者顶部”“磁盘使用者”选项卡的链接。

    PerfInsights 报表的屏幕截图。

  2. 可以使用 “最高 CPU 使用者 ”选项卡来确定 CPU 使用率过高的时间段,顶级进程显示 CPU 消耗量最大。 此选项卡包括以下信息:

    • StartTime 和 EndTime。 分析周期的开始时间和结束时间显示为 UTC 时间。 此外,还有一些说明说明如何收集和评估数据。

    • CPU 使用率较高。 此表列出了开始和结束时间之间发生的所有高 CPU 使用率。 例如,下表显示了 30% 以上 CPU 使用率较高的一段时间。 ProcessorsHighCPUUsageBreakdown 列中的嵌套表显示每个逻辑处理器的用法。

      CPU 使用率较高的表的屏幕截图。

    • 长时间运行的 CPU 使用者。 此表显示哪些进程正在使用 CPU。 例如, iexplore.exe (4964)在 CPU 使用率较高期间贡献了 39.05% 的 CPU 使用率。 如果排名靠前的使用者是你自己的服务或程序,则必须使用更强大的探查器工具进行深入分析。 如果排名靠前的消费者属于第三方,你可能希望禁用或卸载该服务或计划,或者联系制造商以获取客户支持。

      使用 CPU 的进程屏幕截图。

    • 最高峰值 CPU 使用者。 此表显示出现高峰值使用率但长时间未消耗 CPU 的进程。

  3. 可以使用 “顶部磁盘使用者 ”选项卡来确定发生高物理磁盘使用情况的时间段,以及显示磁盘消耗量最多的顶级进程。 此选项卡包括以下信息:

    • StartTime 和 EndTime。 分析周期的开始时间和结束时间显示为 UTC 时间。 此外,还有一些说明说明如何收集和评估数据。

    • 磁盘使用率较高。 下表列出了开始和结束时间之间发生的所有高磁盘使用率。 例如,在 StartTime 和 EndTime 之间的时间段内,PhysicalDisk3 的磁盘使用率很高。 DisksHighUsageBreakdown 列中的嵌套表显示每个物理磁盘的用法。

      磁盘使用率较高的表的屏幕截图。

    • 长时间运行的 CPU 使用者。 此表显示访问磁盘的进程。 例如,diskspd.exe(5172)发布了 47,037 个磁盘 IO,其平均 IOPS 为 2,344。 如果排名靠前的使用者是你自己的服务或程序,则必须调查它们为何颁发了大量磁盘 IO。 如果排名靠前的使用者属于第三方,你可能希望禁用或卸载这些服务或程序,或者联系制造商以获取客户支持。

      访问磁盘的进程屏幕截图。

    • 最高峰值 CPU 使用者。 此表显示出现高峰值使用率但长时间未消耗 CPU 的进程。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区