鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

介绍

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

表1 任务描述

任务分类

任务子分类

描述

通用分析

热点函数分析

分析C/C++程序代码,找出性能瓶颈点,获得对应的热点函数,支持通过火焰图展示函数的调用关系,给出优化路径。

系统部件分析

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性能数据分析给出进一步优化建议。

专项分析

锁与等待分析

分析glibc和开源软件(如MySQL、OpenMP)的锁与等待函数(包括sleep、usleep、mutex、cond、spinlock、rwlock、semaphore等),关联到其归属的进程和调用点,并根据当前已有的优化经验给出优化建议。

HPC应用分析

HPC应用分析通过采集系统的PMU事件并配合采集面向MPI/MPI+OpenMP应用的关键指标,从而帮助用户精准获得Parallel region及Barrier-to-Barrier的串行及并行时间,校准的L2层微架构指标,指令分布及L3的利用率和内存带宽等信息。

对比分析

-

支持对同一种类型分析任务的结果,选择同一节点或者不同节点间进行比较,从而快速获得不同分析结果之间的差别,定位性能指标的变化,快速识别优化手段的效果。

使用限制

表2 使用限制

任务分类

任务子分类

描述

系统部件分析

NUMA精细化分析

支持openEuler(内核版本为4.19及以上)、CentOS 7.6(内核版本为4.14.0-115.el7a.0.1/4.14.0-115.2.2.el7a/4.14.0-115.5.1.el7a/4.14.0-115.6.1.el7a/4.14.0-115.7.1.el7a/4.14.0-115.8.2.el7a/4.14.0-115.10.1.el7a)操作系统,并且配置SPE环境,暂不支持虚拟机环境。

I/O分析

系统内核需要支持ftrace采集。

专项分析

HPC应用分析

采集OpenMP数据时,将开启内核参数/proc/sys/kernel/kptr_restrict和/proc/sys/kernel/perf_event_paranoid,以便采集call graph数据和PMU事件;当采集结束后会将内核参数恢复原值。

锁与等待分析

环境需支持eBPF(extended Berkeley Packet Filter)配置。

对比分析

-

支持热点函数分析。