본문 바로가기
[GPUaaS]/XID

[GPU] Xid 31 에러 발생 원인과 해결방법 !!

by METAVERSE STORY 2026. 3. 4.
반응형

 

 

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 오래된 버전
 

같은 경우.

 

 


④ GPU 또는 PCIe 하드웨어 문제 (드물지만 있음)

  • GPU 슬롯 접촉 문제
  • PCIe 오류
  • GPU 메모리 문제

하지만 이건 보통 다른 에러도 같이 발생해.

 
Xid 43
Xid 79
GPU fallen off bus
 

 

 


3️⃣ 로그 기준 가장 가능성 높은 원인

로그

 
name=python3
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
 

버전 조합을 클러스터 전체 동일하게 유지


✔ 문제 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%

 

 

 

반응형

댓글