GPU故障检测

更新时间:2025-03-11 06:52

本文提供了一份指南,帮助您正确安装、配置和使用ACK GPU故障检测组件,以便更好地管理和维护ACK环境中的GPU资源。通过本文内容,您可以了解如何监测GPU资源的健康状态,提高集群的可靠性和效率。

背景信息

ack-node-problem-detector组件是ACK基于社区开源项目node-problem-detector进行改造和增强的集群节点异常事件监控组件。ACK在该组件中提供了丰富的GPU相关的故障检测项以增强GPU场景的故障发现能力,当发现对应的故障时会根据故障类型产生相应的Kubernetes Event或Kubernetes Node Condition。

使用NPD检测GPU故障

前提条件

安装ack-node-problem-detector组件,且组件版本为1.2.23及以上。

注意事项

  • NVIDIA的XID和SXID是GPU驱动通过NVRM事件机制写入/var/log/messages/var/log/syslog中。NPD会记录每个XID和SXID是否已被处理,如果在发现XID或SXID后,只要对节点进行重启操作,不管这条XID或SXID所对应的问题是否已被解决(例如Xid 79指明需要更换GPU设备才能解决问题),NPD将不会对这条XID或SXID产生Event或Condition,即NPD认为这条XID已被解决。

  • NPD检测NVIDIA XID或者NVIDIA SXID是通过检测节点/var/log/messages文件或/var/log/syslog文件完成的。如果dmesg日志被重定向到其他文件,NPD将无法检测NVIDIA XID和SXID。

检测内容及修复建议

说明

修复建议为None表示无需采取任何操作。

检测项名称

是否产生Node Condition

是否产生Event

描述

修复建议

检测项名称

是否产生Node Condition

是否产生Event

描述

修复建议

NvidiaXID13Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID13Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 13 error has occurred.

  • Graphics Engine Exception.

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

None

NvidiaXID31Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID31Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 31 error has occurred.

  • GPU memory page fault.

  • 通常是应用程序的非法地址访问,小概率是驱动或者硬件问题。

None

NvidiaXID43Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID43Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 43 error has occurred.

  • GPU stopped processing.

  • 当您的应用程序遇到软件诱发的故障并必须终止时,会记录此事件。GPU仍然处于健康状态。

  • 在大多数情况下,这并不表示驱动程序存在问题,而是您的应用程序出错。

None

NvidiaXID45Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID45Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 45 error has occurred.

  • Preemptive cleanup, due to previous errors – Most likely to see when running multiple cuda applications and hitting a DBE.

  • 当您的应用程序中止并且内核驱动程序终止在GPU上运行的GPU应用程序时,会记录此事件。

  • Control-C、GPU重置和sigkill都是应用程序被中止并创建此事件的示例。

  • 在许多情况下,这并不表示存在错误,而是您或系统的操作导致。

None

NvidiaXID48Error

  • Type: NvidiaXID48Error

  • Reason: NodeHasNvidiaXID48Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 48 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID48Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 48 error has occurred.

  • Double Bit ECC Error(DBE).

  • 当GPU检测到不可纠正的错误发生时,会记录此事件。这一情况也会反馈给应用程序。需要GPU重置或重启节点才能清除此错误。

重启节点。

NvidiaXID63Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID63Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 63 error has occurred.

  • ECC page retirement or row remapping recording event.

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

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

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

None

NvidiaXID64Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID64Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 64 error has occurred.

  • ECC page retirement or row remapper recording failure.

  • 与Xid 63的触发场景类似,只是Xid 63代表retirement和remapped信息成功记录到infoROM,Xid 64代表该记录操作失败。

None

NvidiaXID74Error

  • Type: NvidiaXID74Error

  • Reason: NodeHasNvidiaXID74Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 74 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID74Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 74 error has occurred.

  • Fatal NVLINK Error.

  • NVLink硬件错误产生的Xid,收到此事件说明GPU已经出现严重硬件故障,需要下线维修。

更换GPU设备。

NvidiaXID79Error

  • Type: NvidiaXID79Error

  • Reason: NodeHasNvidiaXID79Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 79 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID79Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 79 error has occurred.

  • GPU has fallen off the bus.

  • GPU硬件检测到掉卡,无法从总线上检测到。收到此事件说明GPU已经出现严重硬件故障,需要下线维修。

更换GPU设备。

NvidiaXID92Error

  • Type: NvidiaXID92Error

  • Reason: NodeHasNvidiaXID92Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 92 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID92Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 92 error has occurred.

  • High single-bit ECC error rate.

  • SBE出现速度过高,建议更换GPU设备。

更换GPU设备。

NvidiaXID94Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID94Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 94 error has occurred.

  • Contained ECC error.

  • 当应用程序遭遇到GPU不可纠正的显存ECC错误时,NVIDIA错误抑制(contained)机制会尝试将错误抑制在当前已出现问题的应用程序中,而不会让错误影响GPU上的所有应用程序。当抑制机制成功抑制错误时,会产生Xid 94事件,仅影响遭遇了不可纠正ECC错误的应用程序。

None

NvidiaXID95Error

  • Type: NvidiaXID95Error

  • Reason: NodeHasNvidiaXID95Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 95 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID95Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 95 error has occurred.

  • Uncontained ECC error.

  • Xid95代表抑制失败,此时表明运行在该GPU上的所有应用程序都已受到影响,受影响的GPU必须重置后,应用程序才能重新启动。

重启节点。

NvidiaXID119Error

  • Type: NvidiaXID119Error

  • Reason: NodeHasNvidiaXID119Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 119 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID119Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 119 error has occurred.

  • GSP RPC Timeout.

  • 在等待GSP核心响应RPC消息时发生超时。

关闭GSP并重启节点。

NvidiaXID120Error

  • Type: NvidiaXID120Error

  • Reason: NodeHasNvidiaXID120Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 120 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID120Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 120 error has occurred.

  • GSP Error.

  • 在GPU的GSP核心上运行的代码出错。

关闭GSP并重启节点。

NvidiaXID140Error

  • Type: NvidiaXID140Error

  • Reason: NodeHasNvidiaXID140Error

  • Message: TS=xxx;GpuIds=xxx;MSG=An NVIDIA XID 140 error has occurred.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaXID140Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid 140 error has occurred.

  • Unrecovered ECC Error.

  • 当GPU驱动程序在GPU内存中检测到不可纠正的错误,这些错误影响了驱动程序标记页面以进行动态页面下线或行重新映射的能力时,可能会发生此事件。需要重置GPU。

重启节点。

NvidiaXID[code]Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaXID[code]Error

  • Message: GpuIds=xxx;TS=xxx;Xid=xxx;MSG=An nvidia xid [code] error has occurred.

未出现在该表中的其他XID。

提交工单

NvidiaSXID[code]Error

是(仅产生三次事件)

  • Type: Warning

  • Reason: NvidiaSXID[code]Error

  • Message: TS=xxx;NVSwitchIds=xxx;MSG=An nvidia sxid [code] error has occurred.

  • SXid错误可以分为三类,分别是:

    • Correctable:错误已纠正。系统行为不受此类错误的影响。无需额外恢复。

    • Fatal:错误对设备来说是致命的,系统行为受到影响,从此错误中恢复的唯一方法是重置设备或重新启动系统。

    • Non-fatal:错误对设备来说不是致命的,系统行为受到影响,可能不需要重置设备或重新启动系统。

None

NvidiaEccModeNotEnabled

  • Type: NvidiaEccModeNotEnabled

  • Reason: EccModeNotEnabled

  • Message: GpuIds=xxx;EccModeCurrent=xxx;EccModePending=xxx;MSG=The ECC mode of the GPU is not enabled.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaEccModeNotEnabled

  • Message: GpuIds=xxx;EccModeCurrent=xxx;EccModePending=xxx;MSG=The ECC mode of the GPU is not enabled.

节点ECC Mode未开启。

开启ECC Mode并重启节点。

NvidiaPendingRetiredPages

  • Type: NvidiaPendingRetiredPages

  • Reason: NodeHasNvidiaPendingRetriedPages

  • Message: GpuIds=xxx;VolatileTotalUncorrected=xxx;AggregateTotalUncorrected=xxx;MSG=There are retired pages in a pending state on the GPU.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaPendingRetiredPages

  • Message: GpuIds=xxx;VolatileTotalUncorrected=xxx;AggregateTotalUncorrected=xxx;MSG=There are retired pages in a pending state on the GPU.

  • GPU存在处于pending状态的Retried Pages。

  • 需要重置GPU才能使这些Retried Pages生效。

重启节点。

NvidiaRemappingRowsFailed

  • Type: NvidiaRemappedRowsFailed

  • Reason: GPUMemoryRemappingRowsFailed

  • Message: GpuIds=xxx;RemappedDueToUncorrectableErrors=xxx;MSG=The GPU has encountered an error with row mapping.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaRemappedRowsFailed

  • Message: GpuIds=xxx;RemappedDueToUncorrectableErrors=xxx;MSG=The GPU has encountered an error with row mapping.

GPU存在行重映射失败。

更换GPU设备。

NvidiaRemappingRowsRequireReset

  • Type: NvidiaRemappingRowsRequireReset

  • Reason: UncontainedEccError

  • Message: GpuIds=xxx;MSG=Remapping rows requires GPU reset.

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaRemappingRowsRequireReset

  • Message: GpuIds=xxx;MSG=Remapping rows requires GPU reset.

  • GPU遇到了无法纠正的、未包含的错误,需要通过重置GPU进行恢复。为了恢复操作,应该尽快重置GPU。

重启节点。

NvidiaDeviceLost

  • Type: NvidiaDeviceLost

  • Reason: NodeHasNvidiaDeviceLost

  • Message: GpuIds=xxx;MSG=The GPU has fallen off the bus or has otherwise become inaccessible

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaDeviceLost

  • Message: GpuIds=xxx;MSG=The GPU has fallen off the bus or has otherwise become inaccessible.

  • The GPU has fallen off the bus or has otherwise become inaccessible.

  • GPU已从总线上掉落或变得不可访问。

更换GPU设备。

NvidiaInfoRomCorrupted

  • Type: NvidiaInfoRomCorrupted

  • Reason: NodeHasNvidiaInfoRomCorrupted

  • Message: GpuIds=xxx;MSG=GPU infoROM is corrupted

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaInfoRomCorrupted

  • Message: GpuIds=xxx;MSG=GPU infoROM is corrupted.

  • infoROM is corrupted.

  • infoROM已损坏。

更换GPU设备。

NvidiaPowerCableErr

  • Type: NvidiaPowerCableErr

  • Reason: NodeHasNvidiaPowerCableErr

  • Message: GpuIds=xxx;MSG=A device's external power cables are not properly attached

是(持续产生事件,直到问题修复)

  • Type: Warning

  • Reason: NvidiaPowerCableErr

  • Message: GpuIds=xxx;MSG=A device's external power cables are not properly attached.

  • A device's external power cables are not properly attached.

  • 设备的外部电源线连接不当。

更换GPU设备。

  • 本页导读 (1)
  • 背景信息
  • 使用NPD检测GPU故障
  • 前提条件
  • 注意事项
  • 检测内容及修复建议
文档反馈