微架构分析基于ARM PMU(Performance Monitor Unit)事件,获得指令在CPU流水线上的运行情况,帮助用户快速定位当前应用在CPU上的性能瓶颈。用户可以有针对性地修改自己的程序,以充分利用当前的硬件资源。
操作实践可参见:CPU分支预测错误调优实践。
不存在离线节点。
以下修改需具有root权限。
1
|
echo -1 > /proc/sys/kernel/perf_event_paranoid |
1
|
echo 0 > /proc/sys/kernel/nmi_watchdog |
选择“通用分析”,打开新建任务页面。
参数 |
说明 |
---|---|
任务名称 |
输入分析任务的名称。名称需要满足如下要求:
|
选择节点 |
选择需要分析的节点;只有一个节点时默认勾选,最多支持10个节点。 |
分析对象 |
选择“系统”或“应用”。 |
模式 |
选择“Launch application”或“Attach to process”。 分析对象选择“应用”时需配置此参数。 |
应用路径 |
输入待分析应用的绝对路径。例如分析保存在“/home/test”目录下的“loop_test”应用,则输入:/home/test/loop_test 分析对象选择“应用”,模式选择“Launch application”时需配置此参数。
说明:
|
应用参数(可选) |
输入应用参数,请根据实际应用场景填写。 分析对象选择“应用”,模式选择“Launch application”时可配置此参数。
说明:
打开“配置指定节点参数”时各节点可单独配置该参数。 |
应用运行用户(可选) |
运行应用的操作系统用户信息。应用默认运行在工具内置devkitworker1用户下;如果应用运行对用户有依赖,需打开选项配置对应的用户密码后在对应用户下执行。 模式为“Launch application”时可配置,默认关闭。 |
用户名 |
输入运行应用的操作系统用户。 “应用运行用户”选项打开时需配置。 |
密码 |
输入用户的密码。 “应用运行用户”选项打开时需配置。 |
进程名 |
输入进程名称,进程名称支持输入正则表达式。 分析对象选择“应用”,模式选择“Attach to process”时需配置此参数。 |
PID(可选) |
输入要分析的进程的PID,最多输入128个,中间用英文逗号分割。PID和进程名可以同时配置。 分析对象选择“应用”,模式选择“Attach to process”时可配置此参数,最多支持128个。
说明:
|
分析类型 |
选择“微架构分析”。 |
采集模式 |
选择采集数据的模式。可选择“CPU”或“进程/线程”,默认选择“CPU”。 |
采集时长(s) |
设置采样的时间,默认为60秒,取值范围1~900秒。 |
TopDown类型 |
设置采集的分析指标。
|
分析指标 |
选择分析指标。TopDown类型选择“其他level”时可选择:
|
待采样CPU核(可选) |
输入CPU核编号。采集模式为“CPU”时在“高级配置”可配置。
说明:
|
采样范围(可选) |
选择采样范围,采集模式为“进程/线程”时在“高级配置”中可配置。默认为“所有”,可选择:
|
延迟采集时长(s) |
设置延迟采样时长。默认为0,取值范围0-900秒;分析对象选择“应用”,模式选择“Launch application”时在“高级配置”中需配置。
说明:
用于指定时间后执行分析,可以忽略程序的启动流程分析或者用于采集程序热身,消除环境检测等带来的采集延迟。 |
任务时间 |
配置任务是否立即执行,默认选择“立即执行”,可选“立即执行”和“预约定时启动”;“高级配置”中需配置。 选择“预约定时启动”时,需配置“采集方式”、“采集时间”和“采集日期”。 周期采集:该任务在采集周期内每天生效一次;周期采集需配置“采集时间”和“采集日期”。 单次采集:该任务只生效一次;单次采集需配置“采集日期和时间”。
说明:
|
单击任务名称后面对应的图标可以执行如下操作: