🛠 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.

Objectifs

Instrumenter l'ODROID-C4 pour le service 24/7 : lire les zones thermiques du noyau mainline, observer les paliers OPP réels du S905X3 (le tableau SM1 s'arrête à 1,908 GHz, pas 2,0 GHz marketing), régler le governor, et vérifier la fréquence réellement atteinte par votre image — certaines limitent la carte à 1,5 GHz par défaut. Consommation de référence : ≈ 1,8 W au repos, ≈ 3,64 W en stress CPU avec le dissipateur passif fourni.

Matériel

Code complet

#!/usr/bin/env bash
# suivi_c4.sh : temperature + fréquence, 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

Vérification attendue

Pendant le stress de 120 s, la fréquence courante grimpe vers le palier supérieur disponible (1,908 GHz sur image mainline complète, 1,5 GHz si l'image est bridée — le fichier time_in_state le prouve). La température monte puis se stabilise avec le dissipateur ; aucun arrêt ni reset. Au repos, scaling_cur_freq retombe vers 1,0 GHz avec le governor powersave, en cohérence avec la mesure d'enveloppe à ≈ 1,8 W.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels