반응형

GPU 서버 운영하다 보면 갑자기 이런 로그를 보게 됩니다.
NVRM: Xid (PCI:0000:d1:00): 13
또는
NVRM: Xid (PCI:0000:d1:00): 137
처음 보면 둘 다 GPU 오류 같지만…
❌ 같은 에러 아닙니다.
실제로 원인·발생 위치·조치 방법이 완전히 다릅니다.
특히 H100 / A100 / 멀티 GPU / NCCL / Slurm / Kubernetes 환경에서는 정확히 구분해야 장애 대응 시간이 줄어듭니다.
🧠 먼저 Xid가 뭘까?
Xid는 NVIDIA GPU Driver가 기록하는 GPU 장애 코드(Error ID) 입니다.
쉽게 말하면:
GPU가 장애를 감지하면 번호(Xid)로 원인을 알려주는 시스템
예:
Xid 43 → GPU stopped processing
Xid 48 → ECC Error
Xid 79 → GPU lost
Xid 13 → Compute Exception
Xid 137 → NVLink Privilege Error
🔥 Xid 13 = GPU 내부 계산 실패
의미
GPU가 계산하다가 잘못된 메모리를 접근하거나 실행 중 예외 발생
즉,
CUDA 코드
↓
GPU 계산 수행
↓
메모리 접근 오류
↓
Xid 13 발생
쉬운 예시
tensor[999999999]
존재하지 않는 메모리를 읽으려고 시도
↓
GPU 예외 발생
↓
Xid 13
주요 원인
🟡 CUDA 코드 버그
Illegal Memory Access
🟡 Tensor Shape 오류
batch mismatch
🟡 PyTorch Extension 문제
예:
- FlashAttention
- Triton
- Custom CUDA
🟡 Driver ↔ CUDA 버전 충돌
예:
Driver 580
CUDA 12.3
Container CUDA 12.8
자주 보이는 로그
NVRM: Xid (...): 13
Graphics Exception
Illegal Address
Kernel Launch Failure
확인 방법
GPU 로그
dmesg -T | grep -i xid
CUDA 동기 실행
export CUDA_LAUNCH_BLOCKING=1
코드 검증
compute-sanitizer python train.py
🔥 Xid 137 = GPU 간 통신 실패 (NVLink)
의미
GPU가 다른 GPU 메모리에 접근하다가 권한 또는 주소 변환 오류 발생
즉,
GPU0
↓
NVLink
↓
GPU1 Memory
↓
접근 실패
↓
Xid 137
쉬운 예시
서버 내부 GPU 구조:
GPU0 ─ NVLink ─ GPU1
│ │
GPU2 ─ NVLink ─ GPU3
GPU0이 GPU1 메모리를 읽으려 했는데 실패
↓
Xid137
주요 원인
🔴 NVLink 이상
링크 장애
🔴 Fabric Manager 비정상
서비스 중단
🔴 NCCL Timeout
대표 로그:
Watchdog timeout
ALLTOALL timeout
🔴 Driver 문제
업그레이드 직후 자주 발생
🔴 GPU MMU Fault
원격 메모리 주소 오류
자주 보이는 로그
NVRM: Xid (...): 137
NVLink FLA privilege error
확인 방법
NVLink 상태 확인
nvidia-smi nvlink -s
정상:
Link Active
비정상:
Inactive
Recovery
Error
에러 카운터
nvidia-smi nvlink -e
Fabric 상태
systemctl status nvidia-fabricmanager
재시작:
sudo systemctl restart nvidia-fabricmanager
📌 Xid 13 vs Xid 137 한눈 비교
구분Xid 13Xid 137
| 의미 | 계산 예외 | GPU 간 접근 오류 |
| 위치 | GPU 내부 | GPU↔GPU |
| 원인 | CUDA | NVLink |
| 관련 요소 | Tensor | NCCL |
| 단일 GPU | 자주 발생 | 드묾 |
| 멀티 GPU | 가능 | 매우 흔함 |
| 우선 점검 | 코드 | 통신 |
🧪 실무 장애 대응 순서
Xid 13 발생 시
dmesg -T | grep xid
↓
CUDA_LAUNCH_BLOCKING=1
↓
코드 수정
↓
GPU Reset
sudo nvidia-smi -r
Xid 137 발생 시
nvidia-smi nvlink -s
↓
systemctl status nvidia-fabricmanager
↓
NCCL_DEBUG=INFO
↓
노드 재기동
🎯 한 줄 정리
🟡 Xid 13 = GPU 혼자 계산하다가 죽음 → 코드/CUDA 확인
🔴 Xid 137 = GPU끼리 통신하다 죽음 → NVLink/NCCL/Fabric 확인
특히 H100 + 멀티노드 + Slurm + NCCL 환경이라면
Xid137은 GPU 불량보다 통신 계층(NVLink → NCCL → IB) 을 먼저 의심하는 게 실무에서 훨씬 빠릅니다 🚀
반응형
'[GPUaaS] > XID' 카테고리의 다른 글
| [GPU] Xid 13 에러 발생 원인과 해결방법 !! (0) | 2026.03.08 |
|---|---|
| [GPU] Xid 31 에러 발생 원인과 해결방법 !! (0) | 2026.03.04 |
| [GPU] Xid 에러 종류 예시 & Xid 점검 명령어 !! (0) | 2026.03.02 |
| [GPU] XID 43 에러 원인 및 조치방법 !! (0) | 2026.03.02 |
| [샘플용] Xid 43 발생 노드 자동 감지 스크립트 !! (0) | 2026.02.22 |
댓글