🛠 Dompter la chauffe : throttling à 70 °C, dissipateur et pilotage CPU

Banana Pi BPI-CM4 (Amlogic A311D, format Raspberry Pi CM4) · avance · Schéma : IMG-bananapi-cm4-avance-3-maitriser-thermique-banapi-cm4.svg — module BPI-CM4 coiffé d'un petit dissipateur sur l'A311D ; en médaillon, courbe de fréquence : effondrement à 1000 MHz sans refroidissement contre 1800 MHz maintenu avec dissipateur.

Objectifs

Le BPI-CM4 est un champion de l'effondrement thermique : le throttling démarre vers 70 °C et, en module nu sous stress-ng, la fréquence s'effondre en 5 secondes à peine — après 10 minutes, un module sans refroidissement tourne à 1000/1000 MHz contre 1800/1398 MHz avec un simple petit dissipateur (mesures publiées). Vous allez reproduire le test, instrumenter les deux clusters big.LITTLE (4× A73 + 2× A53, politiques cpufreq séparées) et arbitrer entre dissipateur, plafond de fréquence et governor.

Matériel

Code complet

sudo apt update && sudo apt install -y stress-ng linux-cpupower

# État des politiques de fréquence (une par cluster big.LITTLE)
for p in /sys/devices/system/cpu/cpufreq/policy*; do
  echo "$p : $(cat $p/scaling_governor) $(cat $p/cpuinfo_cur_freq 2>/dev/null)"
done

# Températures (thermal zones amlogic)
for z in /sys/class/thermal/thermal_zone*/; do
  echo "$(cat $z/type 2>/dev/null) : $(($(cat $z/temp 2>/dev/null)/1000)) °C"
done

# Test de 10 min avec enregistrement des fréquences
sudo stress-ng --matrix 0 --timeout 10m &
while sleep 15; do
  date +%T; paste -sd' ' /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
done

# Plafonner les A73 à 1,8 GHz pour un régime silencieux
sudo cpupower frequency-set -d 1GHz -u 1.8GHz

Vérification attendue

Sans dissipateur : chute visible en quelques secondes vers les fréquences plancher, stabilisation autour de 1000 MHz par cœur après 10 minutes. Avec dissipateur : maintien nettement supérieur (ordre de grandeur 1800/1398 MHz). Consommation de référence mesurée sur ce montage : 1,8 W au repos, 4,1 W en pleine charge stress-ng.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels