资讯动态

华为NPU监控实战:解读npu-smi info命令输出的关键指标

发布时间:2026/8/4 10:19:26 来源:尧图企业网站定制
1. 初识npu-smi华为NPU的健康体检仪第一次接触华为Atlas服务器的朋友可能会好奇这个黑乎乎的盒子里装的NPU芯片到底在忙些什么就像我们平时用任务管理器看电脑CPU状态一样npu-smi就是专门为华为NPU设计的体检报告单。我在实际运维中就遇到过这样的情况某天深夜算法团队突然反馈模型训练速度下降打开npu-smi info一看某个NPU的温度已经飙到90多度——原来机房空调故障导致散热不良。这个命令行工具的输出看似简单其实藏着很多关键信息。举个例子当看到AICore%长期维持在95%以上就像汽车发动机一直处于红线转速这时候就该考虑是不是有进程在霸占NPU资源。我习惯把npu-smi info比作NPU的体检仪它能实时显示核心负荷AICore%相当于NPU的心跳频率温度指标Temp就像人体的体温内存状况Memory-Usage类似血液检查报告进程清单好比当前正在进行的体力活动2. 逐项拆解npu-smi info的指标密码2.1 设备基础信息NPU的身份证每次执行npu-smi info最先看到的就是设备概要信息。有次我们机房新到一批Atlas 300V Pro卡就是靠这些字段快速确认设备型号和健康状况NPU Chip: 0 Name: 310P3 Device: 0 Health: OK Bus-Id: 0000:01:00.0NPU Chip和Device当服务器插着多张加速卡时这个编号就是定位问题的GPS坐标。曾经有张卡频繁报错通过编号快速定位到是PCIe插槽接触不良Health这个OK字样看着简单但要是变成Error就得立即行动。建议在监控系统设置该字段告警Bus-Id这个PCIe总线地址在排查硬件冲突时特别有用记得有次和GPU混插时就靠它理清拓扑关系2.2 核心指标NPU的生命体征真正决定NPU工作效率的是这几个动态指标AICore(%): 33 Temp(C): 84 Memory-Usage(MB): 18308/21527 Hugepages-Usage(page): 8222/8222AICore%这个百分比就像汽车转速表常规训练任务建议保持在30-70%之间。突然冲到100%可能是进程死循环长期低于10%则可能配置有问题Temp84°C看起来吓人但其实NPU耐高温能力比CPU强。不过超过95°C就要警惕了我们曾用npu-smi set -t 85 -i 0手动设置温度阈值Memory-Usage前一个数是已用量后一个是总量。当使用量持续接近总量时会出现OOM错误。有个取巧的办法watch -n 1 npu-smi info | grep Memory实时监控Hugepages大页内存对性能影响很大如果使用量总是满的可能需要调整/etc/sysctl.conf的vm.nr_hugepages参数3. 实战诊断从数据到解决方案3.1 温度异常排查手册上周就遇到个典型案例某台服务器的NPU温度持续在89°C高位运行。通过npu-smi info配合其他工具我们这样排查先看温度分布npu-smi info -t显示所有卡的温度检查散热ipmitool sensor list查看机箱风扇转速分析进程发现有个python进程长期占用90% AICore最终定位原来是数据预处理代码错误导致NPU持续处理无效数据这种情况下的临时解决方案是npu-smi kill -t python -i 0 # 强制结束问题进程 npu-smi reset -i 0 # 重置NPU设备3.2 内存泄漏追踪技巧内存泄漏是另一个常见问题。有次客户报告训练到后期总是崩溃我们这样用npu-smi诊断建立内存基线训练开始时记录Memory-Usage定期采样监控每10分钟记录一次内存增长量关联进程分析发现某个C进程的内存占用每小时增长约200MB最终发现第三方库的tensor缓存没有正确释放关键的命令组合watch -n 600 npu-smi info | grep -A 10 Process4. 进阶技巧让监控更高效4.1 自动化监控脚本对于多卡服务器我习惯写个简易监控脚本保存为npu_monitor.sh#!/bin/bash while true; do clear echo $(date) npu-smi info sleep 5 done还可以用颜色高亮关键信息npu-smi info | grep --coloralways -E AICore|Temp|Memory4.2 与Prometheus集成在生产环境推荐用telegraf采集npu-smi数据[[inputs.exec]] commands [/usr/bin/npu-smi info -l] timeout 10s data_format influx配合Grafana可以做出漂亮的监控看板重点监控各卡AICore负载均衡情况温度随时间变化曲线内存使用率水位线5. 避坑指南那些年踩过的雷在Atlas 900集群维护中有几个经验教训值得分享不要忽视Health字段有次硬件故障早期只表现为间歇性Health状态波动等变成常驻Error时已影响业务跨卡负载不均衡当看到某张卡的AICore%长期比其他卡高20%以上可能是PCIe带宽分配不均Hugepages用尽会导致性能骤降建议预留10%缓冲空间进程残留问题有些被kill的进程仍占用内存需要reset NPU才能彻底释放有个特别有用的调试命令组合npu-smi info | tee npu_status.log # 保存当前状态 npu-smi dump -i 0 -f debug.log # 导出详细诊断信息记得有次排查随机卡顿就是靠对比多个时间点的npu_status.log发现温度升高前总有特定的进程组合出现。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价