🛠 Surveiller température et fréquence CPU

Orange Pi PC (Allwinner H3) · avance · Schéma : IMG-orangepi-pc-avance-2-opipc-surveillance-thermique.svg — Sonde thermique sunxi THS et régulateur SY8106A reliés au quad Cortex-A7 du H3, courbe température/fréquence sous stress avec palier de throttling, dissipateur dessiné sur la puce.

Objectifs

Le H3 est connu pour chauffer : sans refroidissement, une charge soutenue sur les quatre Cortex-A7 provoque du throttling. Ce tutorale met en place une surveillance complète sous Armbian/mainline : lecture du capteur thermique sunxi THS, observation du DVFS (fréquences et tensions pilotées via le régulateur SY8106A), et test de charge contrôlé pour trouver le point d'écrêtage de votre carte — avec ou sans dissipateur.

Matériel

Code complet

  1. Script de contrôle sanitaire (health.sh) :
#!/usr/bin/env bash
# health.sh — température, governor, fréquence max (Orange Pi PC / H3)
echo "CPU temp: $(($(cat /sys/class/thermal/thermal_zone0/temp) / 1000)) °C"   # sunxi THS
echo "Governor: $(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor)"
echo "Fréq act: $(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq) kHz"
echo "Fréq max: $(cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq) kHz"
# Le quad A7 est nominal à 1.2 GHz sur les images Armbian :
sudo ethtool end0 2>/dev/null | grep Speed || true   # lien réseau à 100 Mbit/s attendu
  1. Test de charge avec échantillonnage 1 Hz pendant 2 minutes :
sudo apt install -y stress-ng
stress-ng --cpu 4 --timeout 120 &
while sleep 1; do
  printf '%s  temp=%s°C  freq=%sMHz\n' "$(date +%T)" \
    "$(($(cat /sys/class/thermal/thermal_zone0/temp)/1000))" \
    "$(($(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq)/1000))"
done
wait
# Vue temps réel fournie par Armbian :
armbianmonitor -m
  1. Comparer nu vs dissipateur : relancer le test, sauvegarder les sorties dans un fichier, tracer la courbe.

Vérification attendue

Au repos : 35-50 °C environ. En stress : la fréquence monte à ~1200 MHz puis la courbe température plafonne et la fréquence retombe par paliers — c'est le throttling. Avec dissipateur, le palier arrive plus tard ou disparaît. Les seuils exacts de throttling ne sont pas documentés par une source fiable.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels