OAM-Tools 功能运行示例:asys、msaicerr、msprof 三组件从安装到跑通的验证实践
OAM-Tools 功能运行示例asys、msaicerr、msprof 三组件从安装到跑通的验证实践【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-tools完成 OAM-Tools 的编译与安装后如何快速验证工具真的能在自己的昇腾环境中跑起来本文基于仓库examples/目录的开箱即用样例给出三件事加载环境变量的正确姿势、一键运行脚本deploy.sh的用法与内部逻辑、以及 asys / msaicerr / msprof 三个组件各自最核心的验证命令。读完后你可以直接复制命令在真实环境中完成工具功能验证并理解每条命令背后对应的入口文件与子命令实现。一、环境准备加载 CANN 环境变量是运行示例的前提所有示例脚本都依赖 CANN 的环境变量。完成安装后工具会被释放到 CANN 安装目录下的tools/子目录root 用户默认在/usr/local/Ascend/cann/tools/。运行示例前请先加载环境变量# root 用户默认路径非 root 用户将 /usr/local 替换为 ${HOME} source /usr/local/Ascend/cann/set_env.sh # 指定路径安装时source ${install_path}/cann/set_env.sh执行上方命令后${ASCEND_HOME_PATH}即为 CANN 安装目录root 用户默认/usr/local/Ascend/cann非 root 用户默认${HOME}/Ascend/cann指定路径安装${install_path}/cann这一前提在源码中也有直接体现。msaicerr 入口 msaicerr.py 的main()在解析参数前会先检查ASCEND_OPP_PATHascend_opp_path os.environ.get(ASCEND_OPP_PATH) if not ascend_opp_path: utils.print_error_log(Environment variable not set after the CANN software is installed.) return Constant.MS_AICERR_INVALID_PATH_ERROR也就是说如果跳过source set_env.sh直接运行msaicerr.py会因找不到 CANN 环境变量而直接报错退出——这正是各示例脚本先加载环境再执行工具的原因。二、一键运行脚本deploy.sh 与三个组件的 run.shexamples/目录下为各场景预置了可直接执行的脚本加载环境变量后即可运行脚本说明asys/run.sh使用 asys 基础命令体检 device 健康状态入门首选msaicerr/run.sh运行内置 sample 算子检测软硬件环境是否具备 msaicerr 运行条件装完即跑msprof/run.sh采集 5 秒系统级 CPU/内存性能数据装完即跑deploy.sh依次执行上述三个脚本一键跑通全部样例# 一键运行全部样例 bash deploy.sh # 或单独运行某个组件的样例 bash asys/run.sh2.1 deploy.sh依次串联三个组件从 deploy.sh 的源码看它的逻辑非常直接开头set -e保证任一脚本失败即整体退出随后按顺序执行三个子脚本set -e SCRIPT_DIR$(cd $(dirname ${BASH_SOURCE[0]}) pwd) cd $SCRIPT_DIR bash ./asys/run.sh bash ./msaicerr/run.sh bash ./msprof/run.sh因此deploy.sh的通过与否可以直接作为整套 OAM-Tools 在当台机器上可用的快速判据。2.2 asys/run.sh一条命令体检 deviceasys/run.sh 的全部内容就是一条asys health配合set -e。health 子命令对应 cmd_parser.py 中Command.HEALTH的定义Diagnoses the health status of the device.仅接受Arg.DEVICE参数。2.3 msaicerr/run.sh内置 sample 算子做环境自检msaicerr/run.sh 展示了示例脚本定位 CANN 根目录并加载环境的完整模式CANN_ROOT${ASCEND_INSTALL_PATH:-${ASCEND_HOME_PATH:-/usr/local/Ascend/cann}} SETENV$CANN_ROOT/bin/setenv.bash # shellcheck source/dev/null [ -f $SETENV ] source $SETENV python3 $CANN_ROOT/tools/msaicerr/msaicerr.py -e脚本优先使用ASCEND_INSTALL_PATH回退到ASCEND_HOME_PATH再回退到默认路径/usr/local/Ascend/cann随后调用msaicerr.py -e不显式指定-dev时默认使用 0 号 device运行内置 sample 算子验证软硬件环境是否满足 msaicerr 的运行条件。这与源码中-e, --env参数的 help 一致Check the environment when running the built-in sample operator.见 msaicerr.py。2.4 msprof/run.sh采集 5 秒 CPU/内存数据msprof/run.sh 在环境定位逻辑与 msaicerr 相同的基础上实际执行OUTPUT_DIR./msprof_output mkdir -p $OUTPUT_DIR $CANN_ROOT/tools/profiler/bin/msprof --output$OUTPUT_DIR --host-sys-usagecpu,mem --sys-period5即调用安装目录下的msprof命令采集 5 秒--sys-period5的 Host 侧 CPU 与内存系统数据--host-sys-usagecpu,mem输出到当前目录的./msprof_output。脚本自带set -e若 msprof 不可用或采集失败会立即报错退出。三、asys故障信息收集与诊断两种调用方式与子命令src/asys/目录下同时存在 asys.py 和指向它的软链接asyssrc/asys/asys - ./asys.pyCMake 通过install(DIRECTORY ${ASYS_DIR} ...)将整个目录原样拷贝软链接也会保留。因此安装后两种调用都能直接用# 形式一显式 python3 调用 .py python3 ${ASCEND_HOME_PATH}/tools/ascend_system_advisor/asys/asys.py -h # 形式二直接调用软链接 asysasys.py 自带 #!/usr/bin/env python3 shebang ${ASCEND_HOME_PATH}/tools/ascend_system_advisor/asys/asys -hasys 的子命令定义在 cmd_parser.py 的Command枚举中包含info / health / collect / launch / diagnose / analyze / config / profiling八个子命令各自的能力与参数组合可以对照源码确认子命令能力来自源码 KEY_HELP支持的参数infoCollects the software and hardware information of the host and device-rinfo 运行模式、-ddevice 编号healthDiagnoses the health status of the device-ddevice 编号collect采集环境中已有运维调试信息或实时导出堆栈task_dir、--output、--tar、-r、--remote、--all、--quiet、--timeoutlaunch执行任务脚本并在运行期间采集运维信息位置参数task、--output、--tardiagnose诊断 device 硬件状态component、stress_detect、hbm_detect、cpu_detect、aicore_stl_detect仅支持 910B / 910_93 / 950 / 960-r、-d、--timeout、--outputanalyze解析 trace、coredump、coretrace、stackcore、aicore_error 与 ub 信息-r、-d、-f、-p、--exe_file、--core_file、-s等config获取或恢复配置信息--get、-d、--restore、--stress_detectprofiling采集 device 的性能数据-d、-r、--output、--period、--aic_metrics在环境变量加载生效后可以直接以 asys 调用以下最常用命令# 采集主机与 device 的软硬件信息不依赖待诊断任务通常作为环境自检 asys info -rstatus -d0 # 体检 device 健康状态 asys health # 采集环境中已存在的运维信息并打包到指定输出目录 asys collect --output output_dir其中collect的-r参数取值stacktrace时必须与--remote、--all配合使用向指定进程发送信号生成 stackcore 文件--timeout取值范围为 [1, 60] 秒、默认 10 秒——这些约束均定义在 cmd_parser.py 的Arg枚举中可直接据此核对参数合法性。更多用法详见 asys 工具用户指南。四、msaicerrAI Core Error 分析三种典型用法msaicerr 入口为 msaicerr.py安装后位于${ASCEND_HOME_PATH}/tools/msaicerr/msaicerr.py。源码中的参数注册msaicerr.py给出了完整的参数语义-p, --report_path分析 AI Core error 时错误信息所在的目录-d, --data解析 dump 文件时指定的文件路径-e, --env运行内置 sample 算子并检查环境布尔开关-out, --output_path结果输出目录仅对-p与-d有效源码通过RequireOtherArgs动作强制该约束-dev, --device_id运行算子使用的 device 编号缺省为 0仅对-p与-e有效-dtype, --dest_dtype解析 dump 文件时的数据类型仅对-d有效。基于以上定义三种典型用法为# 1) 解析一个已有的 AI Core Error 报告路径结果输出到 output_dir python3 ${ASCEND_HOME_PATH}/tools/msaicerr/msaicerr.py -p report_dir -out output_dir -dev 0 # 2) 解析单个 dump 文件dtype 取值参见 -h 输出 python3 ${ASCEND_HOME_PATH}/tools/msaicerr/msaicerr.py -d dump_file -out output_dir -dtype float16 # 3) 检测当前环境是否具备运行 msaicerr 所需的条件仅依赖 device 编号 python3 ${ASCEND_HOME_PATH}/tools/msaicerr/msaicerr.py -e -dev 0 # 完整参数说明 python3 ${ASCEND_HOME_PATH}/tools/msaicerr/msaicerr.py -h源码还体现了两个工程细节入口设置了全局异常钩子sys.excepthook handle_exceptionmsaicerr.py任何未捕获异常都会打印错误日志并以GLOBAL_RESULT False标记失败便于示例脚本用set -e判定成败对 collect tar 包的解压则通过safe_tar_members做了防 tar-slip 校验msaicerr.py过滤符号链接、设备节点等不安全成员。更多用法详见 msaicerr 工具用户指南。五、msprof性能调优collector 与 Python wheel 的分工msprof 由 C 侧 collectorbasic、dvvp和msprofPython wheel分析脚本组成。bash build.sh完成后wheelmsprof-0.0.1-py3-none-any.whl会被拷贝到src/msprof/collector/dvvp/msprofbin/并打包进.run安装包安装时自动解包到${ASCEND_HOME_PATH}/tools/profiler/profiler_tool/目录下无需手动pip install。分析脚本由 msprof collector 流水线内部调用入口为profiler_tool/analysis/msprof/msprof.py不会在PATH中注册独立的命令行命令。如需手动运行分析脚本可直接以 python3 调用安装目录下的入口python3 ${ASCEND_HOME_PATH}/tools/profiler/profiler_tool/analysis/msprof/msprof.py -hC 侧 collector 一般作为 CANN profiler 流水线的内置组件被调用开发者无需直接执行而examples/msprof/run.sh调用的${CANN_ROOT}/tools/profiler/bin/msprof正是该流水线对外暴露的采集入口见上文 2.4 节的--host-sys-usage用法。回归测试通过bash build.sh -u --component msprof运行 gtest 用例产物build/test/ut/msprof/msprof_bin_utest。更多用法详见 性能调优工具用户指南。六、验证清单与延伸阅读综合以上示例装完 OAM-Tools 后的推荐验证顺序为source /usr/local/Ascend/cann/set_env.sh按实际安装路径调整bash examples/deploy.sh一键跑通全部样例若不通过再按asys/run.sh→msaicerr/run.sh→msprof/run.sh的顺序定位到具体组件针对故障定位场景追加asys info -rstatus -d0与asys collect --output dir做环境自检与信息采集针对 AI Core Error 场景用msaicerr.py -e -dev 0确认环境再用-p/-d解析实际报告或 dump 文件。延伸阅读asys 用户指南、msaicerr 用户指南、性能调优用户指南快速安装指南编译依赖与 CANN 软件包安装各组件入口源码asys.py、msaicerr.py、collector 构建英文对照版examples/README_en.md【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

YOLOv8/v10/v11/v12横评:工业缺陷检测模型迁移实战与选型建议

YOLOv8/v10/v11/v12横评:工业缺陷检测模型迁移实战与选型建议

1. 内容整体设计与思路拆解聊聊我最近干的一件事:把一套跑在 YOLOv8 上的工业缺陷检测模型,分别迁移到 v10、v11、v12,以及传言中的 YOLO26 上做对比测试。先说结论,这次折腾完之后,我的项目没有升级到最新版&#xff…

2026/9/18 21:59:23 阅读更多 →
mall 电商项目 Docker 容器化部署实战:从镜像命令、私有仓库到 Compose 全栈编排

mall 电商项目 Docker 容器化部署实战:从镜像命令、私有仓库到 Compose 全栈编排

mall 电商项目 Docker 容器化部署实战:从镜像命令、私有仓库到 Compose 全栈编排 【免费下载链接】mall mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于Spring BootMyBatis实现,采用Docker容器化部署。 前台商城系统…

2026/9/18 21:59:23 阅读更多 →
人体姿态估计选型实战:OpenPose与HRNet对比及部署避坑

人体姿态估计选型实战:OpenPose与HRNet对比及部署避坑

人体姿态估计这个方向,我前后折腾了大概小半年,从最早只会调OpenPose的Demo,到后来自己拿HRNet在私有数据上从头训一遍,中间踩的坑说出来能写一本书。很多人一上来就纠结"到底用哪个模型",其实这个问题问早了…

2026/9/18 21:59:23 阅读更多 →

最新新闻

RxJS 7 到 RxJS Next 迁移中的安全停止(safe-stop):弱证据与不支持算子的合规处理实战

RxJS 7 到 RxJS Next 迁移中的安全停止(safe-stop):弱证据与不支持算子的合规处理实战

RxJS 7 到 RxJS Next 迁移中的安全停止(safe-stop):弱证据与不支持算子的合规处理实战 【免费下载链接】rxjs A reactive programming library for JavaScript 项目地址: https://gitcode.com/gh_mirrors/rx/rxjs 导读 本文基于当前仓…

2026/9/19 1:53:35 阅读更多 →
CE-OFDM信号GAMP检测:恒包络OFDM高功率效率接收机算法解析

CE-OFDM信号GAMP检测:恒包络OFDM高功率效率接收机算法解析

简介:面向无线通信系统设计与优化研究人员,这份资料围绕基于广义近似消息传递(GAMP)的CE-OFDM信号检测接收机展开,重点解决大调制指数下非线性失真导致传统相位检测性能下降的问题。资源提供完整Python代码与逐步解释&…

2026/9/19 1:53:34 阅读更多 →
Textual ProgressBar 组件完全指南:状态机、渐变与样式定制

Textual ProgressBar 组件完全指南:状态机、渐变与样式定制

Textual ProgressBar 组件完全指南:状态机、渐变与样式定制 【免费下载链接】textual The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser. 项目地址:…

2026/9/19 1:53:34 阅读更多 →
Julia 跨平台开发:深入掌握 Sys.KERNEL、系统判定谓词与 @static 静态条件编译

Julia 跨平台开发:深入掌握 Sys.KERNEL、系统判定谓词与 @static 静态条件编译

Julia 跨平台开发:深入掌握 Sys.KERNEL、系统判定谓词与 static 静态条件编译 【免费下载链接】julia The Julia Programming Language 项目地址: https://gitcode.com/gh_mirrors/ju/julia 在 Julia 中编写跨平台应用或库时,常常需要针对 Window…

2026/9/19 1:53:34 阅读更多 →
useState到底如何实现?Nerv Hooks源码原理详解(React双向链表的轻量替代)

useState到底如何实现?Nerv Hooks源码原理详解(React双向链表的轻量替代)

useState到底如何实现?Nerv Hooks源码原理详解(React双向链表的轻量替代) 【免费下载链接】nerv A blazing fast React alternative, compatible with IE8 and React 16. 项目地址: https://gitcode.com/NervJS/nerv 你用过 React 的 …

2026/9/19 1:53:34 阅读更多 →
国家开放大学C语言试题代码自动化验证与加固指南

国家开放大学C语言试题代码自动化验证与加固指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 1:52:34 阅读更多 →

日新闻

BP神经网络时序预测:滑窗长度与多窗口平均策略

BP神经网络时序预测:滑窗长度与多窗口平均策略

简介:面向机器学习、深度学习与数据建模学习者的一份完整研究文献,聚焦BP神经网络在农业产量预测中的应用。文档以1980—2018年全国棉花产量为样本,系统讲解数据归一化处理、激活函数原理、多层神经网络结构搭建及训练流程,展示敏…

2026/9/19 0:00:30 阅读更多 →
Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

上个月调一个Deformable DETR模型,在单卡上要跑将近两天。第二天早上我下意识打开终端翻日志,发现loss从凌晨两点就开始往上爬,一路从0.8涨到1.35,整整六个小时没人发现。那六个小时的训练不仅白跑,还霸占着卡——等于…

2026/9/19 0:00:30 阅读更多 →
OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南 【免费下载链接】opencloud 🌤️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目地址: htt…

2026/9/19 0:00:30 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/16 19:03:19 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/17 10:19:14 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →