🛠 Surveillance thermique et fréquence CPU

ODROID-C4 (Hardkernel) · avance · Schéma : IMG-odroid-c4-avance-2-odroidc4-thermique.svg — ODROID-C4 vu de dessus avec son dissipateur passif 40×32 mm, sondes de température (junction du S905X3) et graphique fréquence/temps de 1,0 à 1,908 GHz.

Objetivos

Instrumentar el ODROID-C4 para un servicio 24/7: leer las zonas térmicas del kernel mainline, observar los niveles OPP reales del S905X3 (la tabla SM1 se detiene en 1,908 GHz, no en los 2,0 GHz del marketing), ajustar el governor y verificar la frecuencia realmente alcanzada por su imagen — algunas limitan la placa a 1,5 GHz por defecto. Consumo de referencia: ≈ 1,8 W en reposo, ≈ 3,64 W bajo estrés de CPU con el disipador pasivo incluido.

Material

Código completo

#!/usr/bin/env bash
# suivi_c4.sh : temperature + frequence, echantillon / 2 s
sudo apt install -y linux-cpupower stress-ng
list { for z in /sys/class/thermal/thermal_zone*/temp; do
    printf '%s %d °C\n' "$(dirname $z | xargs basename)" \
      $(( $(cat $z) / 1000 )); done; }
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
# -> 1000000 1200000 1404000 1500000 1608000 1704000 1800000 1908000
sudo cpupower frequency-set -g performance
stress-ng --cpu 4 --timeout 120s &
for i in $(seq 1 30); do
  list | tr '\n' ' '
  echo "| $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq) Hz"
  sleep 2
done
wait
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state  # temps par palier

Verificación esperada

Durante el estrés de 120 s, la frecuencia actual sube hacia el nivel superior disponible (1,908 GHz en una imagen mainline completa, 1,5 GHz si la imagen está limitada — el archivo time_in_state lo demuestra). La temperatura sube y luego se estabiliza con el disipador; no hay apagados ni reinicios. En reposo, scaling_cur_freq vuelve hacia 1,0 GHz con el governor powersave, en coherencia con la medición de consumo a ≈ 1,8 W.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales