msprof采集通用命令
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
功能说明
msprof命令行工具提供了AI任务运行性能数据、昇腾AI处理器系统数据等性能数据的采集和解析能力。
其中,msprof采集通用命令是性能数据采集的基础,用于提供性能数据采集时的基本信息,包括参数说明、AI任务文件、数据存放路径、自定义环境变量等。
命令格式(Ascend EP )
登录运行环境,可在任意目录下执行以下命令。
- 方式一(推荐):在msprof命令末尾,直接传入用户程序或执行脚本。
msprof [options] <app>
- 方式二:通过--application参数传入用户程序或执行脚本。
msprof [options] --application=<app>
命令格式(Ascend RC )
登录运行环境,进入msprof工具所在目录“/var”,执行以下命令。
- 方式一(推荐):在msprof命令末尾,直接传入用户程序或执行脚本。
./msprof [options] <app>
- 方式二:通过--application参数传入用户程序或执行脚本。
./msprof [options] --application=<app>
app参数说明
目前提供了两种传入用户程序的方式,下面给出配置示例和使用注意事项:
- 方式一配置示例:
msprof --output=/home/projects/output python3 /home/projects/MyApp/out/sample_run.py parameter1 parameter2
msprof --output=/home/projects/output main
msprof --output=/home/projects/output /home/projects/MyApp/out/main
msprof --output=/home/projects/output /home/projects/MyApp/out/main parameter1 parameter2
msprof --output=/home/projects/output /home/projects/MyApp/out/sample_run.sh parameter1 parameter2
- 方式二配置示例:
推理场景:msprof --application="/home/projects/MyApp/out/main parameter1 parameter2 ..."
训练场景:msprof --application="/home/projects/mindspore/scripts/run_standalone_train.sh parameter1 parameter2 ..."
- 若parameter中存在异常符号时将无法识别参数,因此推荐使用方式一传入用户程序。使用方式一时,若配置的用户程序命令中,存在配置参数值需要加引号的情况,请将命令写入Shell脚本后,通过执行Shell脚本的方式在msprof命令上添加用户程序命令。
- 不建议配置其他用户目录或其他用户可写目录下的AI任务,避免提权风险;不建议配置删除文件或目录、修改密码、提权命令等有安全风险的高危操作;应避免使用pmupload作为程序名称。
- 采集全部性能数据、采集AI任务运行时性能数据或采集msproftx数据时,本参数必选。采集昇腾AI处理器系统数据时,本参数可选。采集Host侧系统数据时,本参数可选。
options参数说明
参数 |
可选/必选 |
说明 |
产品支持情况 |
|---|---|---|---|
--output=<path> |
可选 |
收集到的性能数据的存放路径。
该参数优先级高于ASCEND_WORK_PATH,具体请参见《环境变量参考》。 路径中不能包含特殊字符:"\n", "\\n", "\f", "\\f", "\r", "\\r", "\b", "\\b", "\t", "\\t", "\v", "\\v", "\u007F", "\\u007F", "\"", "\\\"", "'", "\'", "\\", "\\\\", "%", "\\%", ">", "\\>", "<", "\\<", "|", "\\|", "&", "\\&", "$", "\\$", ";", "\\;", "`", "\\`"。 在msprof命令末尾添加AI任务执行命令来传入用户程序或执行脚本时,默认落盘在当前目录。 配置--application参数添加AI任务执行命令来传入用户程序或执行脚本时,默认落盘在AI任务文件所在目录。 |
|
--type=<type> |
可选 |
设置性能数据解析结果文件格式,即可以选择msprof命令行执行采集后自动解析的结果文件格式,取值为:
默认为text。 说明:
导出的.json、.csv格式的文件和.db格式文件详细内容请参见性能数据文件参考。 |
|
--environment=<env> |
可选 |
执行采集时运行环境上需要的自定义环境变量。 不建议使用其他用户的目录覆盖原有环境变量,避免提权风险。 配置格式为--environment="${envKey}=${envValue}"或--environment="${envKey1}=${envValue1};${envKey2}=${envValue2}"。例如:--environment="LD_LIBRARY_PATH=/home/xxx/Ascend/nnrt/latest;/home/xxx/Ascend/nnae/latest/lib64"。 |
|
--storage-limit=<limit-value> |
可选 |
指定落盘目录允许存放的最大文件容量。当性能数据文件在磁盘中即将占满本参数设置的最大存储空间或剩余磁盘总空间即将被占满时(总空间剩余<=20MB),则将磁盘内最早的文件进行老化删除处理。 范围[200, 4294967295],单位为MB,例如--storage-limit=200MB,默认未配置本参数。 未配置本参数时,默认取值为性能数据文件存放目录所在磁盘可用空间的90%。 |
|
--python-path=<python-path> |
可选 |
指定解析使用的Python解释器路径,要求Python 3.7.5及以上版本。 如果是高权限用户执行则禁止指定低权限路径。 |
|
--help |
可选 |
帮助提示参数。 |
使用示例
msprof --output=/home/projects/output /home/projects/MyApp/out/main
./msprof --output=/home/projects/output /home/projects/MyApp/out/main
msprof命令执行完成后,会自动解析并导出性能数据结果文件,详细内容请参见性能数据文件参考。