ACK叢集提供節點層級的GPU診斷功能,供您進行部分GPU相關問題的故障排查。如果您在ACK Pro版叢集中使用GPU節點時遇到問題,可以啟用GPU節點自助診斷,採集GPU診斷的基礎指標進行問題排查。本文介紹如何使用節點診斷功能,自助排查GPU節點問題,並提供nvidia-smi和XID狀態代碼排查列表。
前提條件
已建立ACK Pro版叢集。具體操作,請參見建立Kubernetes託管版叢集。
確保Kubernetes叢集處於正常運行中狀態(登入Container Service管理主控台,在叢集列表頁面確認叢集狀態為運行中)。
啟用節點診斷
您可以在故障診斷中選擇待診斷的GPU節點發起節點診斷,並根據診斷報告修複問題。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇
。在故障診斷頁面,單擊節點診斷,然後在節點診斷頁面的左上方,單擊診斷。
在選擇節點面板,選擇節點名稱,仔細閱讀注意事項後選中我已知曉並同意,然後單擊發起診斷。
您可以根據頁面提示查看診斷進展。診斷完成後,診斷頁面將顯示診斷結果和診斷項,供您查看異常原因並修複問題。
如果您診斷的節點為單個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,或是驅動問題。 | 在節點上查看 |
6 | 尋找GPU裝置的查詢失敗,驅動問題。 | 在節點上查看 |
8 | GPU裝置電源線未正確串連,硬體問題。 | 提交工單聯絡ECS技術支援人員解決。 |
9 | 未載入NVIDIA驅動,驅動問題。 | 在節點上查看 |
10 | NVIDIA核心檢測到中斷問題。 | 在節點上查看 |
12 | NVML的共用庫未找到或載入。 | 在節點上查看 |
13 | 本地NVML版本不匹配驅動。 | 在節點上查看 |
14 | infoROM已損壞,硬體問題。 | 提交工單聯絡ECS技術支援人員解決。 |
15 | GPU從匯流排脫落,硬體問題。 | 提交工單聯絡ECS技術支援人員解決。 |
255 | 驅動其他錯誤,驅動問題。 | 在節點上查看 |
-1 | 執行nvidia-smi逾時。 | 在節點上查看 |
根據XID狀態排查問題
XID訊息是NVIDIA驅動程式向作業系統的核心日誌或事件記錄列印的錯誤報表。XID訊息用於標識GPU錯誤事件,提供GPU硬體、NVIDIA軟體或您應用程式中的錯誤類型、錯誤位置、錯誤碼等資訊。
診斷報告中,如檢查項GPU節點上的XID異常為空白,表明無XID訊息;如有,您可按照下表自助排查並解決問題,或提交工單擷取支援人員。
自行排查列表
當遇到下列XID錯誤時建議依次按照如下步驟嘗試解決:
嘗試重新提交負載並觀察XID錯誤是否消失。
若錯誤仍有發生,嘗試自檢代碼或分析日誌,確認是否由代碼引入的XID錯誤。
若確認代碼無誤且問題仍然發生,請提交工單聯絡技術支援人員解決。
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中才能永久生效。
|
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上的所有應用程式都已受到影響。 |