- gpu_temp.sh: экспорт nvidia-smi temperature.gpu в файл (миллиградусы), 2-3s цикл - docker-compose.yml: mount ./gpu-temp:/run/gpu-temp:ro - .gitignore: gpu-temp (живой файл сенсора)
25 lines
1017 B
Bash
Executable File
25 lines
1017 B
Bash
Executable File
#!/bin/bash
|
|
# gpu_temp.sh — экспорт температуры GPU (nvidia-smi) в файл для CoolerControl
|
|
# Custom Sensor (File) в CoolerControl читает файл в sysfs-формате: миллиградусы (33000 = 33°C)
|
|
# Файл монтируется в контейнер coolercontrold как /run/gpu-temp
|
|
|
|
OUT_FILE="${GPU_TEMP_FILE:-/home/nkozobrod/docker/coolercontrol/gpu-temp}"
|
|
INTERVAL="${GPU_TEMP_INTERVAL:-3}"
|
|
|
|
if ! command -v nvidia-smi >/dev/null 2>&1; then
|
|
echo "nvidia-smi not found" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Первичная запись, чтобы файл существовал сразу
|
|
temp=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits 2>/dev/null | head -1)
|
|
[ -n "$temp" ] && echo $((temp * 1000)) > "$OUT_FILE"
|
|
|
|
while true; do
|
|
temp=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits 2>/dev/null | head -1)
|
|
if [ -n "$temp" ]; then
|
|
echo $((temp * 1000)) > "$OUT_FILE"
|
|
fi
|
|
sleep "$INTERVAL"
|
|
done
|