반응형
1️⃣ Xid 31 한줄 요약
GPU가 존재하지 않는 메모리를 읽으려고 해서 발생한 에러
즉
GPU 메모리 주소가 잘못됐거나, 매핑이 깨졌거나, 프로그램이 잘못 접근했을 때 발생
CPU로 비유하면
세그멘테이션 오류 (Segmentation fault) 같은 개념이야.
2️⃣ 왜 발생하냐 (현장에서 가장 많은 원인 4가지)
① AI 프로그램 버그 (가장 많음)
로그 보면
name=python3
즉 python AI 프로그램 (Pytorch / Tensorflow 등) 이 GPU를 쓰다가 발생했어.
이 경우 보통
- 모델 코드 버그
- CUDA kernel 오류
- extension 라이브러리 문제
- 특정 연산 버그
때문에 발생해.
👉 실무에서 70%는 이 원인
② GPU 메모리 부족 (OOM 이후 오류)
GPU 메모리가 꽉 찼다가
메모리 부족 → 커널 실패 → 잘못된 주소 접근
이런 식으로 이어질 수 있어.
특징
- GPU memory 90% 이상 계속 사용
- 큰 모델 학습 중
③ 드라이버 / CUDA 버전 문제
GPU 드라이버와
- CUDA
- pytorch
- NCCL
버전이 안 맞으면 발생할 수 있어.
예
Driver 최신
CUDA 오래된 버전
CUDA 오래된 버전
같은 경우.
④ GPU 또는 PCIe 하드웨어 문제 (드물지만 있음)
예
- GPU 슬롯 접촉 문제
- PCIe 오류
- GPU 메모리 문제
하지만 이건 보통 다른 에러도 같이 발생해.
예
Xid 43
Xid 79
GPU fallen off bus
Xid 79
GPU fallen off bus
3️⃣ 로그 기준 가장 가능성 높은 원인
로그
name=python3
FAULT_PDE
ACCESS_TYPE_VIRT_READ
FAULT_PDE
ACCESS_TYPE_VIRT_READ
이 패턴은 보통
👉 AI 프로그램 메모리 접근 오류
가능성이 가장 높아.
즉
GPU 문제가 아니라 AI 프로그램 문제일 확률 높음
4️⃣ 운영자가 할 수 있는 해결 방법
1️⃣ 해당 job 종료
먼저 GPU 점유한 프로세스 확인
nvidia-smi
PID 확인 후
kill -9 PID
2️⃣ GPU 상태 확인
nvidia-smi -q -i 0 -d ECC
ECC 에러가 있으면 하드웨어 문제 가능.
3️⃣ GPU 리셋 (가능하면)
nvidia-smi -i 0 -r
안되면
서버 reboot
5️⃣ 재발 방지 방법 (중요)
✔ GPU 메모리 여유 확보
학습 시
- batch size 줄이기
- GPU memory 80% 이하 유지
✔ 드라이버 / CUDA 버전 정리
추천
Driver
CUDA
PyTorch
NCCL
CUDA
PyTorch
NCCL
버전 조합을 클러스터 전체 동일하게 유지
✔ 문제 Job 확인
같은 Job에서 계속 발생하면
👉 모델 코드 문제
6️⃣ 현장에서 보는 위험도
| 에러 | 위험도 |
| Xid 31 | 낮음 |
| Xid 43 | 중간 |
| Xid 79 | 높음 |
그래서
👉 Xid 31은 흔한 에러라 GPU 고장 가능성은 낮음
7️⃣ GPU 담당자 기준 운영 룰
보통 이렇게 처리해.
1️⃣ Xid 31 발생
2️⃣ Job 종료
3️⃣ GPU reset
4️⃣ 반복 발생하면 Job 문제 확인
- 한 서버만 → GPU/PCIe 문제 가능성
- 여러 서버 → AI 코드 문제 90%
반응형
'[GPUaaS] > XID' 카테고리의 다른 글
| [GPU] Xid 에러 종류 예시 & Xid 점검 명령어 !! (0) | 2026.03.02 |
|---|---|
| [GPU] XID 43 에러 원인 및 조치방법 !! (0) | 2026.03.02 |
| [샘플용] Xid 43 발생 노드 자동 감지 스크립트 !! (0) | 2026.02.22 |
댓글