본문 바로가기
[GPUaaS]/XID

[GPU] XID 43 에러 원인 및 조치방법 !!

by METAVERSE STORY 2026. 2. 22.
반응형

 

 

 

 

🔴 Xid 43 이란?

Xid 43 = GPU stopped processing

즉,

GPU가 커널 작업을 수행하다가 멈췄고
드라이버가 해당 GPU를 리셋하려고 시도한 상태

이 코드는
NVIDIA 드라이버에서 발생합니다.

로그 예시:

 
 
NVRM: Xid (PCI:0000:61:00): 43, pid=12345, GPU stopped processing
 

 

 


🧠 내부적으로 무슨 일이 벌어진 걸까?

GPU 안에는:

  • SM (Streaming Multiprocessor)
  • Warp Scheduler
  • L2 Cache
  • VRAM Controller
  • Tensor Core

가 있습니다.

Xid 43은 보통:

SM 또는 메모리 파이프라인에서 커널 실행 중 비정상 상태 감지

→ watchdog 타임아웃
→ 드라이버가 강제 리셋

 

 


🔍 주요 원인 5가지 (실무 중요도 순)

① 🔥 GPU 과부하 / 발열

  • Power limit 초과
  • Thermal throttle
  • 장시간 100% 사용

확인:

 
 
nvidia-smi
 

온도 85~90도 이상이면 위험


② ⚡ 전력 불안정

PCIe 슬롯 전력 부족

예전에 보셨던:

 
 
Detected insufficient power on the PCIe slot (27W)
 

이런 경우 매우 위험

확인:

 
 
nvidia-smi --query-gpu=power.draw,power.limit --format=csv
 

③ 💾 GPU 메모리 오류 (ECC)

Uncorrectable ECC 발생하면
→ SM 계산 멈춤
→ Xid 43

확인:

 
 
nvidia-smi -q | grep -A5 "ECC Errors"
 

④ 🔄 NCCL / AllReduce Hang

분산학습 중:

  • 한 GPU에서 커널 deadlock
  • 통신 대기
  • 커널 응답 없음

→ watchdog 타임아웃
→ Xid 43

이때 보통 같이 뜨는 에러:

 
 
NCCL WARN Watchdog Timeout
 

⑤ 🧩 드라이버 버그 / CUDA mismatch

  • CUDA 버전 불일치
  • 드라이버 버그
  • 커널 모듈 충돌

확인:

 
 
nvidia-smi
 

Driver / CUDA 버전 체크

 

 


📊 분산학습 환경에서의 흐름

예시 (노드 환경):

  1. 한 노드 GPU3에서 SM stall 발생
  2. 해당 rank 멈춤
  3. AllReduce 대기
  4. 다른 노드 NCCL timeout
  5. 해당 GPU Xid 43 발생
  6. Slurm 노드 drain

 

 


⚠ Xid 43 위험도


상황 위험도
단발성
반복 발생 높음
특정 GPU만 반복 매우 높음 (하드웨어 의심)

 

 


🛠 실무 점검 절차 (순서대로)

1️⃣ 로그 시간 확인

 
 
journalctl -k --since "10 min ago" | grep -i xid
 

2️⃣ ECC 확인

 
 
nvidia-smi -q | grep -i "uncorrectable"
 

0 아니면 의심


3️⃣ GPU 온도

 
 
nvidia-smi --query-gpu=temperature.gpu --format=csv
 

85도 이상이면 쿨링 점검


4️⃣ NVLink 상태

 
 
nvidia-smi nvlink -s
 

Down / CRC error 확인


5️⃣ GPU 개별 스트레스 테스트

 
 
cuda-samples deviceQuery
 

또는

 
 
nvidia-healthmon -e
 

 

 


🔬 하드웨어 불량 의심 기준

✔ 같은 GPU index에서 반복
✔ 동일 PCI bus ID
✔ ECC 증가
✔ Xid 79 같이 발생

→ RMA 검토

 

 


📌 Xid 43 vs Xid 79 차이

항목 Xid 43 Xid 79
의미 연산 멈춤 GPU bus 이탈
심각도 높음 매우 높음
원인 SM/메모리 PCIe/전력

 

 


🎯 초보자 핵심 정리

Xid 43 = GPU가 작업하다가 멈췄다
원인은 보통 발열 / 전력 / 메모리 / 통신 문제
반복되면 하드웨어 의심

 

 

 

 

 

=====================================================

 

XID 43 에러는 NVIDIA 드라이버가 GPU에 명령을 보냈으나, GPU가 제시간에 응답하지 않아 타임아웃(Timeout)이 발생했을 때 나타나는 전형적인 신호입니다.
주로 하드웨어 불안정성이나 전력 문제, 혹은 드라이버 충돌로 인해 발생합니다.

문제를 해결하기 위해 아래 단계별 조치를 권장합니다.


1. 소프트웨어 수준의 조치 (가장 먼저 시도)

  • 드라이버 재설치: 현재 설치된 드라이버가 손상되었을 수 있습니다. 기존 드라이버를 완전히 삭제(DDU 권장)한 후, 최신 안정화 버전(LTS) 드라이버로 재설치하세요.
  • 지속성 모드(Persistence Mode) 활성화: 서버 환경이라면 드라이버가 계속 로드된 상태를 유지하도록 설정하면 도움이 됩니다.
  • Bash
     
    nvidia-smi -pm 1
    
  • 클럭 속도 제한: GPU가 공장 출하 시 클럭(OC)을 버티지 못할 때 XID 43이 발생할 수 있습니다. 클럭을 기본값으로 낮춰보세요.

2. 하드웨어 및 전력 점검

  • 전원 공급 확인: GPU에 연결된 8핀/16핀 전원 케이블이 헐겁지 않은지 확인하세요. 파워서플라이(PSU) 용량이 부족해도 연산 중 피크 전력을 견디지 못하고 43번 에러를 뱉을 수 있습니다.
  • 슬롯 재장착: GPU를 슬롯에서 뽑았다가 다시 제대로 장착해 보세요. 골드 핑거(접점) 부위에 이물질이 있다면 지우개 등으로 살살 닦아주는 것도 방법입니다.
  • 온도 체크: nvidia-smi를 통해 과열 여부를 확인하세요. 온도가 너무 높으면 보호를 위해 GPU 연산이 중단될 수 있습니다.

3. 정밀 진단 (도구 활용)

앞서 질문하신 **nvidia-healthmon**을 사용하여 하드웨어 자체에 결함이 있는지 최종 확인해야 합니다.

Bash
 
# nvidia-healthmon을 사용하여 0번 GPU의 상태를 정밀 진단
nvidia-healthmon -i 0

이 명령을 실행했을 때 특정 항목에서 FAIL이 뜬다면, 그것은 소프트웨어 문제가 아니라 AS(RMA)를 받아야 하는 하드웨어 불량일 가능성이 매우 높습니다.


요약 가이드

  1. **nvidia-smi**로 온도와 전력 사용량을 먼저 본다.
  2. 드라이버를 밀고 새로 깔아본다.
  3. 여전히 발생하면 **nvidia-healthmon**을 돌려 하드웨어 불량 판정을 확인한다.

 

 

 

반응형

댓글