系统性能分析功能介绍
系统性能分析是针对基于鲲鹏平台的性能分析工具,能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到系统瓶颈点及热点函数,给出优化建议。
本工具提供三种安装包,单独系统性能分析工具包(.tar.gz压缩包和.rpm包)、DevKit工具整体压缩包:
- 单独系统性能分析工具包是轻量级Tuner工具的使用方式,若用户仅需要使用系统性能分析功能,可以选择安装独立包,避免不必要的组件占用资源。
- DevKit工具整体压缩包不仅包含系统性能分析工具,还提供了迁移、亲和分析、Python/C性能分析等功能。若用户还需要使用其它功能,可以选择安装全量包,方便快捷。
前提条件
- 已参照安装工具安装系统性能分析工具。
- 使用整体工具包或单独工具包安装工具时,请解压后切换至工具目录使用,采用./方式执行命令,例如./devkit tuner -h。使用RPM包安装工具时,可直接执行命令,例如devkit tuner -h。本章示例均为RPM包安装使用。
命令功能
查看系统性能分析支持任务的帮助信息。
命令格式
1 | devkit tuner [-h | --help] TASK [ARGS] |
使用示例
执行以下命令,查看系统性能分析支持的功能信息:
1 | devkit tuner -h |
返回信息如下:
Usage: devkit tuner [-h | --help] TASK [ARGS] The most commonly used devkit tuner sub tasks are: help Get help information top-down Run the top-down collection and analysis task hotspot Run the hotspot collection and analysis task miss Run the miss collection and analysis task numafast Run the numafast collection and analysis task hpc-perf Run the hpc-perf collection and analysis task roofline Run the roofline collection and analysis task memory Run the memory collection and analysis task turbostat Run the turbostat collection and analysis task See 'devkit tuner TASK --help' for more information on a specific task.
子命令 |
功能 |
说明 |
支持平台 |
|---|---|---|---|
top-down |
微架构分析 |
基于ARM PMU(Performance Monitor Unit)事件,获得指令在CPU流水线上的运行情况,用户可以有针对性地修改自己的程序,以充分利用当前的硬件资源。 |
鲲鹏 |
hotspot |
热点函数分析 |
提供热点函数采集功能并可自定义采集模式和事件,观察热点函数间的调用关系和对应行的代码便于定位问题代码,优化代码后可提升程序性能。 |
鲲鹏、香橙派Kunpeng Pro |
miss |
Miss事件分析 |
CPU访问数据时将逐级查找缓存,目标数据不在缓存中即为Cache Miss(Cache Miss较多时性能将大幅降低);命令提供对业务进行LLC Miss,TLB Miss,Remote Access,Long Latency Load等Miss类事件分析,便于用户针对性修改程序,提高程序处理性能。 |
鲲鹏 |
memory |
访存统计分析 |
访存单元是CPU逻辑中逻辑控制最复杂的单元,该单元负责处理Load和Store等访存指令执行过程中的各类问题,确保其能够高速完成。访存统计分析提供访存数据统计能力,便于用户查看可能出现性能问题的流程。 |
|
numafast |
NUMA精细化分析 |
通过分析DDR访问数据和NUMA间的访问流量矩阵等数据,发现可能存在问题的带宽流量或进线程,便于用户定位跨路访存带来的性能问题。 |
|
hpc-perf |
HPC应用分析 |
高性能计算(HPC)是一种利用强大处理器集群并行处理海量多维数据集(也称为大数据)并以极高速度解决复杂问题的技术。命令对于不同资源开销的场景提供多种任务模式,采集分析HPC应用的关键指标,并给出优化建议帮助用户提升程序性能。 |
|
roofline |
Roofline分析 |
Roofline性能模型是一个以吞吐量为导向的性能模型(HPC领域使用广泛),模型中的“roofline”表示应用程序的性能不能超过服务器的硬件能力,程序中的每个函数和每个循环都受到服务器的硬件限制。根据Roofline结果,可以快速获取当前模型的性能瓶颈点以及性能瓶颈通路。 |
|
turbostat |
频率功耗分析 |
基于硬件驱动和BMC信息,获取服务器CPU频率、温度、功耗等信息,帮助用户定位业务的性能瓶颈,以充分利用当前硬件资源。 |