开发者
资源

采集Host侧系统数据

功能说明

msprof支持采集Host侧的系统数据(CPU利用率、内存利用率、磁盘I/O利用率、网络I/O利用率等),并且在采集后可以自动进行性能数据解析和文件落盘。

命令格式

可以在采集AI任务运行性能数据时,采集Host侧系统数据:

msprof [options] <app>
也可以在采集AI处理器系统数据时,采集Host侧系统数据:
msprof --output=<path> --sys-devices=<ID> --sys-period=<period> [options]

参数说明

表1 参数说明

参数

可选/必选

描述

--host-sys

--host-sys和--host-sys-usage二者必选其一

Host侧系统数据采集开关,取值包括cpu、mem、disk、network和osrt,可选其中的一项或多项,选多项时用英文逗号隔开。配置该项必须配置host-sys-pid参数或传入用户程序。各项取值含义如下:

  • cpu:进程级别的CPU利用率。
  • mem:进程级别的内存利用率。
  • disk:进程级别的磁盘I/O利用率。
  • network:系统级别的网络I/O利用率。
  • osrt:进程级别的syscall和pthreadcall。

配置示例:--host-sys=cpu,mem,disk,network。

说明:
  • 采集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参数。

--host-sys-usage

--host-sys和--host-sys-usage二者必选其一

Host侧系统和所有进程的性能数据采集开关,取值包括cpu和mem,可选其中的一项或多项,选多项时用英文逗号隔开。配置该项时如果配置host-sys-pid参数,则采集Host侧指定进程的CPU或内存利用率。取值含义如下:

  • cpu:系统和所有进程的CPU利用率。
  • mem:系统和所有进程的内存利用率。

配置示例:--host-sys-usage=cpu,mem。

--host-sys-pid

可选

指定需要采集的Host侧应用程序的pid。

依赖AI任务运行时该参数无需配置,且配置无效。

--host-sys-usage-freq

可选

CPU利用率、内存利用率的采集频率,范围[1,50],默认值50,单位Hz。

使用示例

登录运行环境,在任意路径下执行以下命令:
msprof --output=/home/projects/output --host-sys=cpu /home/projects/MyApp/out/main

或者:

msprof --output=/home/projects/output --sys-devices=<ID> --sys-period=<period> --sys-hardware-mem=on --host-sys-pid=<pid> --host-sys=cpu

在--output指定的目录下生成PROF_XXX目录,存放自动解析后的性能数据,相关结果文件请参见表1