Ախտանիշի քարտ
dcgm-exporter is dead and NVML answers N/A
GB10-ի unified memory-ի վրա dcgm-exporter-ը չի գործում, իսկ NVML-ը N/A է վերադարձնում շատ դաշտերի համար, որոնց վրա օպերատորներն ալերտ են դնում. մենք nvidia-smi-ի ելքը systemd timer-ով պարսում ենք node-exporter-ի textfile collector-ի համար՝ հնացման ալերտով հենց կոլեկտորի վրա։
- Պլատֆորմ:
- DGX Spark (GB10)
- Runtime:
- dcgm-exporter / NVML
- Հրապարակվել է:
- 02.09.2026
Ինչ եք տեսնում
vLLM-ը սպասարկում է, Grafana-ի դաշբորդը հավաքված է ճիշտ այնպես, ինչպես
ամեն CUDA տուփի վրա, և դաշբորդը կանաչ է։ Պանելներում կա՛մ տվյալ չկա, կա՛մ
գծիկներ են, և ոչ մի տեղ չի ասվում, թե ինչու։ nvidia-smi-ն և NVML-ի վրա
հենված Python սնիպետները վերադարձնում են
N/A
շատ դաշտերի համար, որոնց վրա օպերատորներն ալերտ են դնում, առաջին հերթին՝ հիշողության թվերի։ Exporter-ն աշխատում է։ Պարզապես դրա հետևում ոչինչ չկա։
Որտեղ ենք հանդիպել
DGX Spark, մեր լաբորատորիայի GB10 սարքերը, vLLM-ով սերվինգ՝ մեր bring-up-ի պահին արդի firmware-ով և դրայվերային ստեկով։ Զեկույցը թվագրված է 2026-08-16 և չի նշում ո՛չ դրայվերի, ո՛չ firmware-ի, ո՛չ exporter-ի տարբերակը. այս քարտն էլ չի նշում։ Տուփն աշխատում էր «Ապացույցներ» բաժնում հղված սերվինգի բաղադրատոմսով։
Պատճառ
Unified memory։ GB10-ն առանձին VRAM պուլ չունի, իսկ NVML-ի տրամադրած հաշվիչները կառուցվել են այն ենթադրությամբ, որ այդպիսին կա, ուստի պուլ սպասող գործիքակազմը ոչինչ չի հաղորդում։ dcgm-exporter-ը Spark-ի unified-memory դիզայնի վրա նույնպես չի գործում. զեկույցը դա գրանցում է որպես առանձին խափանում և մեխանիզմ չի տալիս։ Աղմուկով չի էլ ընկնում. աշխատում է, իսկ դրա հետևի դաշբորդը դատարկ է մնում։
Երկու խափանումներն իրար են թաքցնում։ Exporter-ը լուռ է, ուստի ստուգում եք գրադարանը. գրադարանը N/A է պատասխանում, ուստի ենթադրում եք, որ exporter-ն էլ նույնը կաներ, և դադարում եք խորանալ։ Բացակայող մետրիկան ոչ մեկին չի արթնացնում։
Լուծում
Սա շրջանցող լուծում է. ստանդարտ ստեկը մնում է կոտրված, և մենք շրջանցում
ենք այն։ Spark-ի վրա nvidia-smi-ի սովորական տեքստային ելքն ավելի ազնիվ
է, քան դրա տակի գրադարանները։ Դաշտերը, որոնք պատասխանում են,
պատասխանում են իրական արժեքներով։ Կոլեկտորը, որ մենք աշխատեցնում ենք.
- systemd timer-ը կարճ ինտերվալով գործարկում է
nvidia-smi-ն։ - Փոքր սկրիպտը պարսում է միայն այն դաշտերը, որոնք GB10-ի վրա իրոք
պատասխանում են, և գրում դրանք որպես Prometheus մետրիկաներ
.promֆայլի մեջ։ - node-exporter-ի textfile collector-ը ֆայլը վերցնում է հոսթի մնացած մետրիկաների հետ միասին։
- Մեկ լրացուցիչ մետրիկա կրում է կոլեկտորի սեփական վերջին գործարկման timestamp-ը, և ալերտը գործում է, երբ այն հնանում է։
Ոչ մի դեմոն այն ամենից բացի, ինչ հոսթն արդեն աշխատեցնում է, ոչ մի արտոնյալ sidecar։ Դաշբորդի ամեն մետրիկայի համար մարդ է ստուգել, որ այն այս սարքաշարի վրա պատասխանում է։ Այս կայքի զեկույցը սխեման է տալիս. պարսինգի մանրամասները «Ապացույցներ» բաժնում հղված Habr-ի հոդվածում են։
Spark-ի վրա որևէ պանելի վստահելուց առաջ երկու ստուգում. այս դաշտն այս տուփի վրա պատասխանո՞ւմ է, և ե՞րբ է կոլեկտորը վերջին անգամ գործարկվել։
Բա՞ց է դեռ upstream-ում
Մենք դրան չենք հետևում։ Զեկույցը նշում է միայն, որ մոնիտորինգի վարքը կարող է փոխվել դրայվերների թողարկումների հետ, և որ կոլեկտորն այդպիսի փոփոխություններին ավելի լավ է դիմանում, քան գրադարանային binding-ները։ Այստեղ ոչինչ չի վերաբերում տվյալների կենտրոնի Blackwell-ին, որտեղ dcgm-exporter-ը ճիշտ պատասխանն է։
Ապացույցներ
Աղբյուրներ
- GPU մոնիտորինգ DGX Spark-ի վրա. երբ dcgm-exporter-ը մեռած է, իսկ NVML-ը պատասխանում է N/A · /reports/dgx-spark-gpu-monitoring/
Այս քարտը փաստագրում է լաբորատորիայի սեփական երկաթի վրա դիտարկված մեկ խափանում; թվերը, եթե կան, ապրում են հղված աղբյուր էջում, ոչ թե այստեղ։