Miss事件分析基于ARM SPE(Statistical Profiling Extension)的能力实现。SPE针对指令进行采样,同时记录一些触发事件的信息,包括精确的PC指针信息。利用SPE能力可以对业务进行LLC Miss,TLB Miss,Remote Access,Long Latency Load等Miss类事件分析,并精确的关联到造成该事件的代码。用户可以有针对性地修改自己的程序,降低Miss事件发生的几率,提高程序处理性能。
以下修改需具有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”时可配置此参数。
说明:
|
分析类型 |
选择“访存分析”。 |
访存分析类型 |
选择“Miss事件分析”。 |
采样时长 (s) |
设置采样的时长。默认为5秒。取值范围1~300秒。 |
采样间隔 (指令数) |
设置采样间隔。默认为8192,取值范围1024~2^32-1;在“高级配置”中需配置。 |
延迟采样时长 (s)(可选) |
设置延迟采样时长。默认为1秒,取值范围0~299秒,且需小于采样时长;在“高级配置”中可配置。
说明:
用于指定时间后执行分析,可以忽略程序的启动流程分析或者用于采集程序热身,消除环境检测等带来的采集延迟。 |
指标类型(可选) |
选择指标类型。在“高级配置”中可配置,可选择:
|
最小延迟 (时钟周期) |
设置最小延迟。默认为100,取值范围1~4095。
说明:
当“指标类型”选择“Long Latency Load”时显示该参数。 |
待采样CPU核(可选) |
输入CPU核编号;在“高级配置”中可配置。
说明:
|
采样范围(可选) |
选择采样范围。默认为“所有”;在“高级配置”中可配置;可选择:
|
C/C++源文件目录 |
输入C/C++源文件工程目录。
须知:
该应用的源码请务必符合通用编程规范,否则分析结果中热点函数的源码可能无法正常显示。
说明:
|
任务时间 |
配置任务是否立即执行,默认选择“立即执行”,可选“立即执行”和“预约定时启动”;“高级配置”中需配置。 选择“预约定时启动”时,需配置“采集方式”、“采集时间”和“采集日期”。 周期采集:该任务在采集周期内每天生效一次;周期采集需配置“采集时间”和“采集日期”。 单次采集:该任务只生效一次;单次采集需配置“采集日期和时间”。
说明:
|
单击任务名称后面对应的图标可以执行如下操作: