文档

自助诊断GPU节点问题

更新时间:

ACK集群提供节点级别的GPU诊断功能,供您进行部分GPU相关问题的故障排查。如果您在ACK Pro版集群中使用GPU节点时遇到问题,可以启用GPU节点自助诊断,采集GPU诊断的基础指标进行问题排查。本文介绍如何使用节点诊断功能,自助排查GPU节点问题,并提供nvidia-smi和XID状态码排查列表。

前提条件

启用节点诊断

您可以在故障诊断中选择待诊断的GPU节点发起节点诊断,并根据诊断报告修复问题。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择巡检和诊断 > 故障诊断

  3. 故障诊断页面,单击节点诊断,然后在节点诊断页面的左上角,单击诊断

  4. 选择节点面板,选择节点名称,仔细阅读注意事项后选中我已知晓并同意,然后单击发起诊断

    您可以根据页面提示查看诊断进展。诊断完成后,诊断页面将显示诊断结果和诊断项,供您查看异常原因并修复问题。

如果您诊断的节点为单个GPU节点,诊断结束后诊断列表将展示GPU相关的指标报告。您可以根据诊断结果并参见根据nvidia-smi状态排查问题根据XID状态排查问题定位和解决问题。

如果需要提交工单获取技术支持,请反馈完整的GPU节点诊断内容。

根据nvidia-smi状态排查问题

nvidia-smi(NVIDIA System Management Interface)是一个监测NVIDIA GPU设备状态的命令行实用工具,可以用于管理GPU服务器性能和健康状况。您可以根据检查报告中NVIDIASMIStatusCode的结果,参见下表,查看状态码含义及其解决方案。

nvidia-smi状态码

说明

解决方案

0

执行成功,nvidia-smi正常。

不涉及。

3

请求的操作在目标设备上不可用。目标节点上的设备不支持nvidia-smi,或是驱动问题。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,进一步排查问题。

6

查找GPU设备的查询失败,驱动问题。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,进一步排查问题。

8

GPU设备电源线未正确连接,硬件问题。

提交工单联系ECS技术支持人员解决。

9

未加载NVIDIA驱动,驱动问题。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,进一步排查问题。

10

NVIDIA内核检测到中断问题。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,或者查看XID的诊断结果,进一步排查问题。

12

NVML的共享库未找到或加载。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,或者查看XID的诊断结果,进一步排查问题。

13

本地NVML版本不匹配驱动。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,或者查看XID的诊断结果,进一步排查问题。

14

infoROM已损坏,硬件问题。

提交工单联系ECS技术支持人员解决。

15

GPU从总线脱落,硬件问题。

提交工单联系ECS技术支持人员解决。

255

驱动其他错误,驱动问题。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,或者查看XID的诊断结果,进一步排查问题。

-1

执行nvidia-smi超时。

在节点上查看/var/log/nvidia-installer.log检查驱动安装日志,执行dmesg | grep -i nv检查内核是否有报错日志,或者查看XID的诊断结果,进一步排查问题。

根据XID状态排查问题

XID消息是NVIDIA驱动程序向操作系统的内核日志或事件日志打印的错误报告。XID消息用于标识GPU错误事件,提供GPU硬件、NVIDIA软件或您应用程序中的错误类型、错误位置、错误代码等信息。

诊断报告中,如检查项GPU节点上的XID异常为空,表明无XID消息;如有,您可按照下表自助排查并解决问题,或提交工单获取技术支持。

自行排查列表

当遇到下列XID错误时建议依次按照如下步骤尝试解决:

  1. 尝试重新提交负载并观察XID错误是否消失。

  2. 若错误仍有发生,尝试自检代码或分析日志,确认是否由代码引入的XID错误。

  3. 若确认代码无误且问题仍然发生,请提交工单联系技术支持人员解决。

XID

说明

13

Graphics Engine Exception. 通常是数组越界、指令错误,小概率是硬件问题。

31

GPU memory page fault. 通常是应用程序的非法地址访问,极小概率是驱动或者硬件问题。

43

GPU stopped processing. 通常是您应用自身错误,而非硬件问题。

45

Preemptive cleanup, due to previous errors -- Most likely to see when running multiple cuda applications and hitting a DBE. 通常是您手动退出或者其他故障(硬件、资源限制等)导致的GPU应用退出,XID 45只提供一个结果,具体原因通常需要进一步分析日志。

68

NVDEC0 Exception. 通常是硬件或驱动问题。

工单排查列表

当遇到下列XID错误时,请提交工单联系技术支持人员解决,并反馈完整的GPU节点诊断内容。

XID

说明

32

Invalid or corrupted push buffer stream. 事件由PCIE总线上管理NVIDIA驱动和GPU之间通信的DMA控制器上报,通常是PCI质量问题导致,而非您的程序产生。

38

Driver firmware error. 通常是驱动固件错误而非硬件问题。

48

Double Bit ECC Error(DBE). 当GPU发生不可纠正的错误时,会上报此事件,该错误也会同时反馈给您的应用程序。通常需要重置GPU或重启节点来清除这个错误。

61

Internal micro-controller breakpoint/warning. GPU内部引擎停止工作,您的业务已经受到影响。

62

Internal micro-controller halt. 与XID61的触发场景类似。

63

ECC page retirement or row remapping recording event. 当应用程序遭遇到GPU显存硬件错误时,NVIDIA自纠错机制会将错误的内存区域retire或者 remap,retirement和remapped信息需记录到infoROM中才能永久生效。

  • Volt架构:成功记录ECC page retirement事件到infoROM。

  • Ampere架构:成功记录row remapping事件到infoROM。

64

ECC page retirement or row remapper recording failure. 与XID 63的触发场景类似。但XID 63代表retirement和remapped信息成功记录到了infoROM, XID 64代表该记录操作失败。

74

NVLINK Error. NVLink 硬件错误产生的XID,表明GPU已经出现严重硬件故障,需要下线维修。

79

GPU has fallen off the bus。 GPU硬件检测到掉卡,总线上无法检测该GPU,表明该GPU已经出现严重硬件故障,需要下线维修。

92

High single-bit ECC error rate. 硬件或驱动故障。

94

Contained ECC error. 当应用程序遭遇到GPU不可纠正的显存ECC错误时,NVIDIA错误抑制机制会尝试将错误抑制在发生硬件故障的应用程序,避免该错误影响GPU节点上运行的其他应用程序。 当抑制机制成功抑制错误时,会产生该事件,仅出现不可纠正ECC错误的应用程序受到影响。

95

Uncontained ECC error. 与XID 94的触发场景类似。但XID 94代表抑制成功,而XID 95代表抑制失败,表明运行在该GPU上的所有应用程序都已受到影响。

相关文档