更新时间:2026-10-21 GMT+08:00
分享

故障诊断

当训练/推理业务出现故障时,可以首先使用日志诊断对故障进行定界。日志诊断结果可给出根因节点分析、故障事件分析、建议修复方案等内容。

日志诊断依赖Ascend FaultDiag故障诊断工具。工具的安装及使用参考:Ascend FaultDiag故障诊断工具-安装与升级。

根据日志诊断结果分析故障原因,会有以下情况:

  1. 查看“故障事件分析”中打印的错误日志,查看是否有明确的ERROR、Traceback报错,可能为训练脚本、Python基础语法等问题,一般可由用户自行闭环。
  2. 查看“故障事件分析”中打印的错误日志,查看是否有昇腾错误码。格式为EXXXXX,具体含义及相关处理参考:故障处理-故障码参考。
  3. 查看“根因节点分析”中打印的诊断结果,如果包含“部分节点发生RoCE重传超次”,可以按照以下场景处理:
    • 参考监控告警查看是否出现“NPU网口闪断”、“交换机闪断”、“光模块信息丢失”等网络侧告警,如果有,联系华为工程师进行处理;
    • 如果没有任何网络域告警,可以按照以下方法排查处理:
      • 在根因节点分析-首错节点对应的plog日志中执行grep 'cqe err stat\[12\]' -rn ${plog路径},查看重传超次链路(打印该日志的是本端节点,ip:[xx]中打印的是对端节点)。如果重传超次链路很多,且对端节点IP不唯一,有可能是网络拥塞。

        如果对端节点IP都指向同一个节点,查看对端节点是否有“NPU丢失”、“系统崩溃”等硬件告警。

      • 如果训练/推理业务过程中有通过hccn_tool -g -stat -i ${NPU id} -u ${IO DIE id} -p ${PORT id}采集网口指标,查看PFC反压报文数反压帧(core_mib_txpfcpkts字段),查看PFC反压帧是否激增。如果存在激增,则为网络拥塞。
      • 重新拉起训练,如果连续多次训练由于网络拥塞失败,需联系华为工程师解决,如查看组网策略配置是否合理。
  4. 如果“根因节点分析”中打印的诊断结果包含“Socket建链”、“Notify Wait超时”、“FFTS + run failed”、“P2P超时”,可以按照以下场景处理:
    • 如果“故障事件分析”中没有任何明确故障信息,且根因节点信息描述包含“最早报错节点与最晚报错节点间报错间隔超过设置的超时时间”,可能原因为NPU间不同步,超时时间设置太短,可尝试调大超时时间,重新拉起训练。
      • 如果为“Notify Wait超时”、“FFTS+ run failed”:可通过在训练容器设置export HCCL_EXEC_TIMEOUT=xx。
      • 如果为“socket超时”、“p2p超时”:可通过在训练容器设置export HCCL_CONNECT_TIMEOUT=xx,如果训练任务调用的NPU数量超过3000时,xx配置为240;NPU数量超过5000时配置为600。
    • 如果“故障事件分析”中没有任何明确故障信息,且根因节点信息描述包含“所有节点Plog报错xx超时,最早报错节点与最晚报错节点间报错间隔未超过设置的超时时间”,此时可联系华为工程师定位处理。
    • 如果“故障事件分析”中没有任何明确故障信息,且根因节点信息描述包含“部分节点Plog报错xx超时”,查看推荐的根因节点的plog日志中是否有ERROR报错。若无任何ERROR,可能为慢节点、业务进程卡住,参考慢节点/慢网络处理。
  5. 如果“根因节点分析”中打印的诊断结果包含“所有节点都没有错误日志信息”,需要执行npu-smi info命令,查看NPU状态,并排查带外BMC、NPU告警,做相应处理。

相关文档