🛠 Surveiller température et fréquence CPU sous contrainte

Orange Pi 3B (Rockchip RK3566) · avance · Schéma : IMG-orangepi-3b-avance-2-opi3b-thermique.svg — Orange Pi 3B avec dissipateur et ventilateur 2 broches, courbes de température et fréquence des Cortex-A55

Objectifs

Instrumenter l'Orange Pi 3B (4× Cortex-A55 jusqu'à 1,8 GHz, RK3566 en 22 nm) : lire les températures des zones thermiques, observer la fréquence réelle de chaque cœur, déclencher un seuil d'alerte et tester le refroidissement passif vs ventilateur sur le connecteur 2 broches.

Matériel

Code complet

# 1. Températures (degrés milli-C) et politiques thermiques
paste <(for z in /sys/class/thermal/thermal_zone*/type; do cat $z; done) \
      <(for z in /sys/class/thermal/thermal_zone*/temp; do echo "scale=1;$(cat $z)/1000"|bc; done)

# 2. Fréquence réelle par cœur pendant une charge
sudo apt install stress-ng
(trap 'kill %1' INT; stress-ng --cpu 4 --timeout 60s) &
while sleep 2; do grep -H . /sys/devices/system/cpu/cpufreq/policy*/scaling_cur_freq; done

# 3. Alerte simple toutes les 10 s
while sleep 10; do
  t=$(($(cat /sys/class/thermal/thermal_zone0/temp)/1000))
  [ $t -gt 75 ] && logger -p user.warning "CPU trop chaud : ${t}°C"
done
# 4. Compteur de passages en limitation thermique (throttle)
grep . /sys/class/thermal/thermal_zone*/policy 2>/dev/null
sudo dmesg | grep -i -e thermal -e throttle

Vérification attendue

Sous stress-ng --cpu 4, scaling_cur_freq grimpe vers 1,8 GHz puis se stabilise ; sans dissipateur la fréquence redescend et dmesg peut afficher des messages thermiques. Avec dissipateur/ventilateur, la température plafonne plus bas et la fréquence tient plus longtemps.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels