GPU temp custom sensor (file) + fan3 control via CoolerControl
- gpu_temp.sh: экспорт nvidia-smi temperature.gpu в файл (миллиградусы), 2-3s цикл - docker-compose.yml: mount ./gpu-temp:/run/gpu-temp:ro - .gitignore: gpu-temp (живой файл сенсора)
This commit is contained in:
@@ -1 +1,2 @@
|
||||
coolercontrol-config/
|
||||
gpu-temp
|
||||
|
||||
+2
-1
@@ -8,9 +8,10 @@ services:
|
||||
environment:
|
||||
- CC_DBUS=OFF
|
||||
volumes:
|
||||
- /sys/class/hwmon/hwmon4:/sys/class/hwmon/hwmon4
|
||||
- /sys/class/hwmon:/sys/class/hwmon
|
||||
- /dev:/dev
|
||||
- ./coolercontrol-config:/etc/coolercontrol
|
||||
- ./gpu-temp:/run/gpu-temp:ro
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user