---
title: 介绍
description: "系统性能分析是针对基于鲲鹏的服务器的性能分析工具，能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据，分析出系统性能指标，定位到系统瓶颈点及热点函数，给出优化建议。该工具可以辅助用户快速定位和处理软件性能问题。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/devkit_24_t50/usermanual/devkit-hypertuner-054.html
sourcePath: /source/zh/kunpengdevkithistory/devkit_24_t50/usermanual/devkit-hypertuner-054.html
indexId: 4bb42f73fdbbf86dc79e3ea1cc3c39964f7be36de841b317d68dc56390bf2f3383
---
# 介绍

系统性能分析是针对基于鲲鹏的服务器的性能分析工具，能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据，分析出系统性能指标，定位到系统瓶颈点及热点函数，给出优化建议。该工具可以辅助用户快速定位和处理软件性能问题。


**表1 任务描述**

| 任务分类 | 描述 |
| --- | --- |
| 调优助手 | 调优助手通过系统化组织和分析性能指标、热点函数、系统配置等信息，形成系统资源消耗链条，引导用户根据优化路径分析性能瓶颈，并针对每条优化路径给出优化建议和操作指导，以此实现快速调优。 |
| 对比分析 | 支持对同一种类型分析任务的结果，选择同一节点或者不同节点间进行比较，从而快速获得不同分析结果之间的差别，定位性能指标的变化，快速识别优化手段的效果。 |
| HPC集群检查 | 通过对用户指定的MPI集群进行硬件、软件配置检查，并给出集群中各节点软硬件配置的一致度报告。检查对象支持硬件领域的CPU、GPU、互联、内存、网卡、磁盘，软件领域中的OS、Kernel、环境变量、MPI、OpenMP、HPC常用依赖库等维度。对于不符合鲲鹏平台最佳实践的配置，提供对应的优化建议。 |
| HPC应用分析 | HPC应用分析通过采集系统的PMU事件并配合采集面向OpenMP和MPI应用的关键指标，从而帮助用户精准获得Parallel region及Barrier\-to\-Barrier的串行及并行时间，校准的L2层微架构指标，指令分布及L3的利用率和内存带宽等信息。 |
| 全景分析 | 通过采集系统软硬件配置信息，以及系统CPU、内存、存储IO、网络IO资源的运行情况，获得对应的使用率、饱和度、错误次数等指标，以此识别系统性能瓶颈。针对部分系统指标项，根据当前已有的基准值和优化经验提供优化建议。 针对大数据场景、数据库场景和分布式存储场景的硬件配置、系统配置和组件配置进行检查并显示不是最优的配置项，同时分析给出典型硬件配置及软件版本信息。 |
| 微架构分析 | 基于ARM PMU（Performance Monitor Unit）事件，获得指令在CPU流水线上的运行情况，可以帮助用户快速定位当前应用在CPU上的性能瓶颈，用户可以有针对性地修改自己的程序，以充分利用当前的硬件资源。 |
| 访存分析 | 基于CPU访问缓存和内存的事件，分析访存过程中可能的性能瓶颈，给出造成这些性能问题的可能原因及优化建议。 访存统计分析 基于处理器访问缓存和内存的PMU事件，分析存储的访问次数、命中率等情况，具体包括： 分析L1C、L2C、L3C、TLB的访问命中率和带宽。 分析HHA访问速率。 分析DDR的访问带宽和次数。 Miss事件分析 基于ARM SPE （Statistical Profiling Extension）能力实现。SPE针对指令进行采样，同时记录一些触发事件的信息，包括精确的PC指针信息。利用SPE能力可以用于业务进行LLC Miss，TLB Miss，Remote Access，Long Latency Load等Miss类事件分析，并精确的关联到造成该事件的代码。基于这些信息，用户便可以有针对性地修改自己的程序，降低发生对应事件发生的几率，提高程序处理性能。 NUMA精细化分析 基于ARM SPE（Statistical Profiling Extension）能力实现。SPE针对指令进行采样，同时记录一些触发事件的信息，包括精确的PC指针信息。利用SPE能力可以用于收集系统中所有进程的NUMA性能，找到Top N (e.g. N = 10) NUMA性能最差的进程及这些进程中的内存热区，各NUMA节点间内存访问统计矩阵，识别节点间内存访问不平衡状态，并得到相关优化建议。 |
| I/O分析 | 分析存储I/O性能。以存储块设备为分析对象，分析得出块设备的I/O操作次数、I/O数据大小、I/O队列深度、I/O操作时延等性能数据，并关联到造成这些I/O性能数据的具体I/O操作事件、进程/线程、调用栈、应用层I/O APIs等信息。根据I/O性能数据分析给出进一步优化建议。 |
| 进程/线程分析 | 采集进程/线程对CPU、内存、存储IO等资源的消耗情况，获得对应的使用率、饱和度、错误次数等指标，以此识别进程/线程性能瓶颈。针对部分指标项，根据当前已有的基准值和优化经验提供优化建议。针对单个进程，还支持分析它的系统调用情况。 |
| 资源调度分析 | 采集进程/线程的运行情况，获得对应的冷火焰图、链路切换次数和全局占比等指标，以此识别性能瓶颈。支持分析单个进程的系统调用情况。 |
| 热点函数分析 | 分析C/C++程序代码，找出性能瓶颈点，获得对应的热点函数，支持通过 火焰图 展示函数的调用关系，给出优化路径。 |
| 锁与等待分析 | 分析glibc和开源软件（如MySQL、OpenMP）的锁与等待函数（包括sleep、usleep、mutex、cond、spinlock、rwlock、semaphore等），关联到其归属的进程和调用点，并根据当前已有的优化经验给出优化建议。 |
| Roofline分析 | 帮助用户在给定硬件平台上，分析出应用程序的瓶颈点位置，从而有针对性的进行优化。 |
| AI调优 | 使用自研高性能AI调优方案，通过用户自主选择测试用例，对数据库和大数据场景进行自动优化，自动调优后给予最优参数配置，提供复杂场景下参数配置的优化建议。 |
