GPU온도를 모니터링하는 스크립트
2024. 9. 2. 18:40ㆍ서버
#!/bin/bash
# 설정
EMAIL="test@gmail.com" # 알림을 받을 이메일 주소
SUBJECT="GPU Temperature Alert" # 이메일 제목
THRESHOLD=80 # 온도 임계값
FLAG=1
# 무한 루프
while [ "$FLAG" -eq 1 ]; do
# GPU의 개수를 확인
GPU_COUNT=$(nvidia-smi --query-gpu=count --format=csv,noheader,nounits 2>/dev/null | tr -d '[:space:]')
# GPU가 없거나 오류 발생 시 루프 종료
if [[ -z "$GPU_COUNT" || "$GPU_COUNT" == "Nodeviceswerefound" ]]; then
echo "No GPUs found or nvidia-smi command failed."
break
fi
# 각 GPU에 대해 온도를 확인
for ((i=0; i<${GPU_COUNT:0:1}; i++)); do
# GPU i의 온도 가져오기 (줄바꿈 제거)
TEMP=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits -i ${i} 2>/dev/null | tr -d '[:space:]')
# 온도가 숫자인지 확인 (GPU가 없을 경우를 대비)
if [[ ! "$TEMP" =~ ^[0-9]+$ ]]; then
echo "Failed to retrieve temperature for GPU $i."
continue
fi
# 온도가 임계값을 넘는지 확인
if [ "$TEMP" -gt "$THRESHOLD" ]; then
# 이메일 내용 생성
MESSAGE="Warning: GPU $i temperature has exceeded $THRESHOLD°C.\nCurrent temperature: $TEMP°C."
# 이메일 전송
echo -e "$MESSAGE" | mail -s "$SUBJECT" "$EMAIL"
FLAG=0
break
fi
done
sleep 3600
done
'서버' 카테고리의 다른 글
| SCP - IP를 통해 파일 옮기기 (1) | 2024.06.19 |
|---|---|
| GPU CLOCK (3) | 2024.05.09 |
| PCIE Check in Ubuntu (2) | 2024.04.20 |
| Ubuntu Version Check (1) | 2024.04.08 |
| Nvidia driver 설치 후 GPU가 안 잡힐 때 (0) | 2024.01.30 |