采集Host侧数据
依赖AI任务运行时采集命令示例
采集Host侧数据需要确认采集的进程,因此依赖AI任务运行时的采集即对所在应用程序的进程进行采集。
以运行用户登录Ascend-cann-toolkit开发套件包所在环境,根据环境搭建配置环境变量后执行命令,命令示例如下:
msprof --application=/home/HwHiAiUser/HIAI_PROJECTS/MyAppname/out/main --output=/home/HwHiAiUser --host-sys=cpu
依赖昇腾AI处理器系统采集命令示例
采集Host侧数据需要确认采集的进程,因此昇腾AI处理器系统采集需要指定采集的系统进程号。
以运行用户登录Ascend-cann-toolkit开发套件包所在环境,根据环境搭建配置环境变量后执行命令,命令示例如下:
msprof --output=/home/HwHiAiUser --sys-devices=<ID> --sys-period=<period> --sys-hardware-mem=on --host-sys-pid=<pid> --host-sys=cpu
参数说明
参数 |
描述 |
可选/必选 |
---|---|---|
--host-sys |
Host侧性能数据采集开关,取值包括cpu,mem,disk,network和osrt,可选其中的一项或多项,选多项时用英文逗号隔开。配置该项必须配置host-sys-pid 参数或application参数。各项取值含义如下:
配置示例:--host-sys=cpu,mem,disk,network。 |
必选 |
--host-sys-pid |
指定需要采集的Host侧应用程序的pid。 依赖AI任务运行时该参数无需配置,且配置无效。 |
必选 |
- 采集Host侧disk性能数据需要安装第三方开源工具iotop,采集osrt性能数据需要安装第三方开源工具perf和ltrace,其安装方法参见安装perf、iotop、ltrace工具。完成安装后须参见配置用户权限完成用户权限配置,且每次重新安装CANN软件包需要重新配置。
- 使用开源工具ltrace采集osrt性能数据会导致CPU占用率过高,其与应用工程的pthread加解锁相关,会影响进程运行速度。
- x86_64架构的KylinV10SP1操作系统支持--host-sys=osrt参数, aarch64架构的KylinV10SP1操作系统下不支持--host-sys=osrt参数。
- 虚拟化环境Euler2.9系统下不支持--host-sys=network参数。
采集数据说明
配置采集性能数据参数后生成的Profiling数据如表2和表3所示。
timeline文件名 |
相关参数 |
说明 |
---|---|---|
msprof*.json |
所有可生成数据的参数均会在此文件写入数据。 |
timeline数据总表。对采集到的timeline性能数据按照迭代粒度进行性能展示。详情请参见timeline数据总表。 |
host_cpu_usage.json |
--host-sys=cpu |
Host侧CPU利用率。详情请参见Host侧CPU利用率数据。 |
host_mem_usage.json |
--host-sys=mem |
Host侧内存利用率。详情请参见Host侧内存利用率数据。 |
host_disk_usage.json |
--host-sys=disk |
Host侧磁盘I/O利用率。详情请参见Host侧磁盘I/O利用率数据。 |
host_network_usage.json |
--host-sys=network |
Host侧网络I/O利用率。详情请参见Host侧网络I/O利用率数据。 |
os_runtime_api.json |
--host-sys=osrt |
Host侧syscall和pthreadcall数据。详情请参见Host侧syscall和pthreadcall数据。 |
summary文件名 |
相关参数 |
说明 |
---|---|---|
os_runtime_statistic.csv |
--host-sys=osrt |
Host侧syscall和pthreadcall数据。详情请参见Host侧syscall和pthreadcall数据。 |