본문 바로가기
[GPUaaS]/XID

[샘플용] Xid 43 발생 노드 자동 감지 스크립트 !!

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

 

 

 

GPU 다수 노드 + Bastion 서버 구조
👉 Xid 43 발생 노드 자동 감지 스크립트 (운영용)

 


🎯 목표

  • 여러 GPU 노드에 SSH 접속
  • 최근 로그에서 Xid 43 검색
  • 발생 노드만 출력
  • GPU index / PCI bus 같이 표시
  • Slurm drain 연동 가능 구조

 

 


📌 1️⃣ 기본 원리

각 노드에서 실행되는 명령:

 
 
journalctl -k | grep -i "Xid.*43"
 

최근 10분만 보려면:

 
 
journalctl -k --since "10 min ago" | grep -i "Xid.*43"
 

 

 


🛠 2️⃣ Bastion에서 실행하는 자동 스크립트

📄 파일 생성

 
 
vi xid43_check.sh
 

내용:

 
 
#!/bin/bash

# ===== 설정 =====
NODE_PREFIX="gpu"
START=1
END=64
SINCE="30 min ago"

echo "========== Xid 43 CHECK =========="

for i in $(seq -w $START $END); do
NODE="${NODE_PREFIX}${i}"

echo "Checking $NODE ..."

RESULT=$(ssh -o ConnectTimeout=5 $NODE \
"journalctl -k --since \"$SINCE\" 2>/dev/null | grep -i 'Xid.*43'")

if [ ! -z "$RESULT" ]; then
echo "❌ Xid 43 FOUND on $NODE"
echo "$RESULT"
echo "-----------------------------------"
fi
done

echo "========== DONE =========="
 

실행 권한

 
 
chmod +x xid43_check.sh
 

실행

 
 
./xid43_check.sh
 

📌 출력 예시

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

 

 

 


🚀 3️⃣ GPU index까지 자동 추출 버전 (고급)

위 스크립트를 아래로 교체하세요:

 
 
#!/bin/bash

NODE_PREFIX="gpu"
START=1
END=64
SINCE="30 min ago"

echo "========== Xid 43 DETAIL CHECK =========="

for i in $(seq -w $START $END); do
NODE="${NODE_PREFIX}${i}"

RESULT=$(ssh -o ConnectTimeout=5 $NODE \
"journalctl -k --since \"$SINCE\" 2>/dev/null | grep -i 'Xid.*43'")

if [ ! -z "$RESULT" ]; then
echo "================================="
echo "NODE: $NODE"
echo "$RESULT"

echo "--- GPU LIST ---"
ssh $NODE "nvidia-smi --query-gpu=index,pci.bus_id --format=csv"
fi
done
 

🧠 왜 PCI Bus 출력하냐?

Xid 로그에:

 
 
PCI:0000:61:00
 

가 나오기 때문입니다.

→ 해당 bus ID가 어떤 GPU index인지 매칭 가능

 

 


🔥 4️⃣ Slurm 자동 drain 연동 (옵션)

만약 Xid 43 발견 시 자동 drain 하고 싶으면:

 
 
scontrol update nodename=$NODE state=drain reason="Xid43 detected"
 

스크립트에 추가 가능

 

 


📌 운영 팁

상황 조치
단발성 모니터링
반복 발생 Drain
특정 GPU 반복 하드웨어 점검
ECC 증가 RMA 검토

 

 


⚠ 실제 운영 환경에서 추천

cron 등록:

 
 
crontab -e
 
 
 
*/10 * * * * /root/xid43_check.sh >> /root/xid43.log 2>&1
 

→ 10분마다 체크

 

 

 

반응형

댓글