---
title: 昇腾Profiling性能分析工具使用问题案例-官方技术文章-昇腾社区
description: 本期分享几个关于Profiling性能分析工具使用过程中的常见问题案例，并给出原因分析及解决方法。
keywords: Profiling,性能分析工具,使用问题案例,官方技术文章,昇腾社区,AI,执行,命令未采集到
url: https://www.hiascend.com/developer/techArticles/20231222-1?envFlag=1
section: (其他)
---

# 昇腾Profiling性能分析工具使用问题案例-官方技术文章-昇腾社区

URL: https://www.hiascend.com/developer/techArticles/20231222-1?envFlag=1
描述: 本期分享几个关于Profiling性能分析工具使用过程中的常见问题案例，并给出原因分析及解决方法。
关键词: Profiling,性能分析工具,使用问题案例,官方技术文章,昇腾社区,AI,执行,命令未采集到

官方技术文章 [了解详情](https://www.hiascend.com/zh/developer/techArticles)

昇腾Profiling性能分析工具使用问题案例

昇腾Profiling性能分析工具使用问题案例

昇腾CANN性能调优Profiling

发表于: 2023/12/22

昇腾Profiling性能分析工具用于采集和分析运行在昇腾硬件上的AI任务各个运行阶段的关键性能指标, 用户可根据输出的性能数据，快速定位软、硬件性能瓶颈，提升AI任务性能分析的效率。具体使用方法请参考：

https://hiascend.com/document/redirect/CannCommunityToolProfiling [了解详情](https://hiascend.com/document/redirect/CannCommunityToolProfiling)

# 1 执行msprof命令未采集到AI Core Metrics数据

## 故障现象

执行msprof命令后，屏幕显示性能解析数据，但无AI Core Metrics数据。查看$HOME/ascend/log/plog路径下Host侧日志信息，有如图1-1所示内容。其中，$HOME表示Host侧用户根目录。

图1.1 图1-1 aclInit函数初始化日志信息

## 故障原因

通过日志分析，可能原因为代码实现时，调用aclInit函数在aclrtSetDevice函数后面，造成Runtime无法下发AI Core性能数据采集开关任务，造成无法采集AI Core数据。

## 故障处理

针对上述分析情况，请调整代码，确保aclInit函数最先调用，然后重新编译代码、执行Profiling。

# 2 磁盘满导致性能数据采集任务无法下发

## 故障现象

训练场景下发性能数据采集过程中，出现如图2-1所示错误提示。

图2.1错误提示：No
usable temporary directory

## 故障原因

出现“No usable
temporary directory”错误提示，可能原因是系统盘空间已满。

## 故障处理

请参考以下流程处理该问题：

步骤 1     清理系统盘目录下无用文件。

步骤 2     执行df -h命令查询磁盘是否有剩余空间。

----结束

# 3 性能数据老化导致无法正常解析数据

## 故障现象

性能数据解析失败。

## 故障原因

当性能数据超过storage_limit参数限定的最大值或剩余磁盘空间较小时，最早的性能数据开始自动老化删除。

默认情况下，解析从--iteration-id=1开始，而老化同样从--iteration-id=1开始，故当第1轮迭代或前面几轮迭代的数据被老化后，未指定--iteration-id或指定前面几轮迭代进行解析时，解析将会失败。

## 故障处理

1.        
执行./msprof--query=on--output=<dir>命令查看最大迭代轮数（Iteration Number）。

2.        
解析迭代ID最大的性能数据。

# 4 Ascend PyTorch
Profiler采集过程中提示：Incorrect schedule

## 故障现象

使用Ascend
PyTorch Profiler接口采集PyTorch性能数据过程中，打印“Incorrect schedule”提示信息，如下图所示：

profiler.py: Incorrect schedule: Stop
profiler while current state is WARMUP which will result in enpty parsed data.

profiler.py: Incorrect schedule: Stop
profiler while current state is RECORD which may result in incomplete parsed
data.

profiler.py: Stop profiler while current state is
RECORD_AND_SAVE, perhaps the scheduling sycle has not yet completed.

## 故障原因

设置的schedule参数不合理，导致Profiler尚未完成设置的schedule周期就提前退出。如下面的案例所示：

实际模型训练step为1，但是设置schedule中skip_first=1,
active=2，此时Profiler在刚好处于RECORD状态（准备好采集），但是训练进程已经退出，所以导致性能数据缺失或者为空的情况。

## 故障处理

检查设置的schedule是否正确，确保Profiler完成schedule后还有足够的step用于性能数据采集。

# 5 更多介绍

[1]昇腾文档中心：https://www.hiascend.com/zh/document [了解详情](https://www.hiascend.com/zh/document)[2]昇腾社区在线课程：https://www.hiascend.com/zh/edu/courses [了解详情](https://www.hiascend.com/zh/edu/courses)[3]昇腾论坛：https://www.hiascend.com/forum [了解详情](https://www.hiascend.com/forum)

本页内容
