开发者
资源
鲲鹏性能分析体验之矩阵分析
鲲鹏性能分析体验之矩阵分析
发表于2023/06/26
2450

环境介绍
操作系统openEuler 20.03 LTS SP1,虚拟机环境;工具:Kunpeng Hyper

操作前准备

点击申请远程实验室,下载远程登陆工具:mobaxterm,下载VPN工具。解压压缩包,然后安装,vpn工具不能选择安装路径,会安装在C盘下。

操作步骤

修改权限,编译程序,绑定CPU保持运行。

cke_505.png

跳转到邮箱里,打开性能分析工具页面,分别点击创建工程和任务:

cke_9063.png

观察报告发现,除了样例中提到的CPU-1使用率高外,还有CPU-5.

cke_24448.png

接下来我们从进程的角度来分析,测试当前的性能瓶颈

cke_61006.png

查看分析报告,发现该程序占用CPU最多,且绝大部分在用户态,问题可能是该程序算法效率低下等等。此分析方式可以查看是哪个进程占用CPU或者内存更多,有利于问题的深入分析。接下来终止程序,通过热点函数来分析具体程序。

cke_177653.png

创建热点函数分析并执行,点击查看分析报告,实际上热点函数只有三个,和样例不一样,占用比也不一样,该程序占用比在54左右。

cke_17251.png

点击该函数,我们可以查看其源代码以及对应的汇编代码,还有其不同的时钟周期的占比。颜色越深,代表占比越严重,双击某一basic block可以查看其对应的代码块。

cke_72808.png

程序优化

接下来我们分析下优化后的程序,先编译加权限:

cke_809.png

因为创建的任务与之前的类似,所以我们可以在此基础上点击重新启动任务:

cke_55434.png

修改三个地方,包括应用路径、符号文件路径以及C/C++源码路径,点击执行查看报告。

cke_119587.png

通过报告我们可以看到虽然不如样例那么低,但是相比于之前,下降到了43%,降低了10%左右,双击函数我们可以看到其比之前的占比要少,说明优化有效。

cke_234255.png

cke_284825.png

通过以上体验,可以知道,系统分析能够清楚了解整体上CPU、内存的运行状况,而进程/线程分析可以知道某个进程的占比,将目标缩小化,通过热点函数分析,我们可以实现针对于某一程序代码块的优化,并且量化比较修改前后性能指标的比较。

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞