Overclocker son Raspberry Pi 3

Qui a dit que l’on ne pouvait pas Overclocker un Raspberry Pi 3 ?

Avec le dernier firmware, le Raspberry Pi 3, tout comme ses prédécesseurs, démarre en effet à 600 MHz, afin de limiter la chauffe. C’est à l’OS de prendre en compte la montée en fréquence du processeur, selon la charge et la température de la puce.

Forcer le support du turbo

Pour le Raspberry Pi 2, la solution était simple : passer à 900 MHz, via les directives « force_turbo=1 » et « arm_freq=900 », placées dans le fichier config.txt du firmware. Avec le Pi 3, ceci n’est pas possible, car l’overclock n’est pas permis. Du moins pas officiellement.

Chauffe Marcel !

Rien de bien sorcier si l’on prend ses précautions. En effet, le Raspberry Pi n’a pas de système de refroidissement et même si le système dispose d’un garde fou qui va arrêter l’appareil en cas de surchauffe, vous pouvez l’endommager.

Donc, si vous voulez faire de l’overclocking, je vous recommande fortement de rajouter un dissipateur thermique…
Que vous pouvez vous procurez sur Amazon par exemple (entre 4€ et 7€ le set).

Mise en garde

Jouer avec l’overclocking représente toujours un risque, et votre RPi peut ne plus fonctionner…
En suivant le tutoriel, ci-après, je décline toute responsabilité en cas de dommage sur votre matériel…
Afin de ne pas endommager votre RPi, veuillez y aller pas à pas et avec précaution.

Par défaut

Voici les valeurs par défaut d’une Raspberry Pi 3 non Overclockée :

Pi 3 Default Clock Settings
arm_freq=1200
core_freq=400
sdram_freq=450

Pi 3 Default Underclock Settings
arm_freq=600
core_freq=250
sdram_freq=450

Et les valeurs d’un Raspberry Pi 3 Overclocké et stable
arm_freq=1350
core_freq=500
over_voltage=4
sdram_freq=450

Sources

l’officiel du PC n°1 et chez Framboise314.fr
retrosolution.com


1/ Raspbian

Avant d’attaquer l’overcloking, mettez à jour votre distribution.

Ouvrez le terminal et tapez :

sudo apt-get update
sudo apt-get upgrade

 2/ Contrôle de la température

Afin de ne pas mettre le feu à votre Pi (c’est une image). Nous allons d’abord créer un script pour contrôler la température

pico check_cpu_speed_temp.sh

Dans l’éditeur de texte , tapez ensuite les lignes suivantes en respectant le retour à la ligne

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
/opt/vc/bin/vcgencmd measure_temp

Faire Ctrl + O pour sauvegarder, puis valider par Entree.
et Ctrl + X pour quitter.

Rendez le script exécutable en faisant

chmod u+x check_cpu_speed_temp.sh

3/ L’utilisation du processeur

Tapez ensuite

watch ./check_cpu_speed_temp.sh

Dorénavant, vous aurez un contrôle de la température du SoC toutes les 2 secondes.

Au dessus de la température, vous verrez apparaître un chiffre. C’est celui de l’utilisation du processeur.
afin de ne pas fausser les résultats, nous allons mettre votre Raspberry Pi 3  en mode performance => cadencement à 1.2GHz

4/ Mode performance

Ouvrez un autre terminal et tapez

echo "performance" | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Vous devriez avoir écrit performance après votre commande. La température ne devrait pas dépasser les 55°C. Mais cela dépend bien sur de la température de la pièce où vous êtes et non de la présence du dissipateur ou non.

Il est temps de s’attaquer au vif du sujet et de faire grimper la cadence à 1.4 GHz par exemple…

5/ Le fichier config.txt

Il va falloir changer le fichier /boot/config.txt. tapez

sudo nano /boot/config.txt

Cherchez ensuite la ligne #arm_freq=800, décommentez (effacez le #) et mettez 1400 à la place de 800.

Ne vous fiez pas à la ligne de commentaire au-dessous qui dit que 700MHz est le cadençage par défaut. Pour le RPi 3 c’est bien 1.2 GHz.

ATTENTION : Avec 1400MHz il faut aussi  changer le voltage sous peine d’un bon crash de votre RPi (ce qui m’est arrivé…)

En dessous de la ligne de la fréquence arm_freq=1400, rajoutez la ligne

over_voltage=6

Faites Ctrl + O, puis Entree et enfin Ctrl + X

6/ Redémarrage de la Raspberry Pi 3

Et pour finir, rebootez votre RPi

sudo reboot

Si votre RPi plante au redémarrage, vous pouvez changer l’over_voltage.

Essayez 3 ou 4. Mais ne pas aller au dessus de 6.
(0=1.2V ==> 0.025V par step donc 6 vaut 6×0.025+1.2=1.35V)

Et redémarrer votre RPi pour prendre en compte l’overclockage.

ASTUCE : en cas de plantage de votre RPi afin de ne pas reformater votre carte SD et modifier le fichier config.txt, il vous suffit de mettre dans votre PC votre carte SD et de rechercher le fichier config.txt. Puis de le modifier (avec un éditeur de texte comme Notepad++) et l’enregistrer. Et enfin, de remettre votre carte SD dans le slot de votre RPi et de redémarrer le tout.

7/ Un oeil sur la température

Jetons un oeil sur la température (étape 3)

watch ./check_cpu_speed_temp.sh

Remettez le RPi en mode performance (étape 4)

echo "performance" | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Et voilà vous verrez afficher la température et la fréquence du processeur qui est maintenant overclocké. (dans mon cas : 1.4 GHZ pour 45.1°C)

Ouvrez vos applications et voyez les variations qui en résulte…

ATTENTION : Ne pas dépasser les 79°C. Il y a danger pour votre RPi.

8/ Des RPi différentes.

ATTENTION : car toutes les cartes Raspberry Pi 3, ne sont pas tout à fait identiques. La tolérence à l’overcloking n’est pas la même. Soyez prudent.

Avant de lancer un petit benchmark pour comparer la puissance, nous allons maintenant nous attaquer à la RAM. Car la mémoire vive cadencée à 400 MHz, peut elle aussi être overclockée…

9/ Overclock de la RAM

Toujours dans le fichier /boot/config.txt, ajoutez la ligne suivante (à la suite de l’étape 5)

sdram_freq=475

Faites Ctrl + O, puis Entree et enfin Ctrl + X

N’oubliez pas de redémarrer votre RPi pour que l’overclock soit pris en compte.

A 500MHz, le RPi a refusé de démarrer. Mais peut-être qu’en lui ajoutant aussi un dissipateur de chaleur, cela aurait fonctionné …
La RAM se trouve au dos de la carte. Si cela vous tente.

10/ Un Benchmark pour finir

Alors ? Quel gains de performance a-t-on obtenu avec nos réglages ?
Voici une page de tests des différents modèles de Raspberry Pi.

J’ai fait 2 tests :

  • Test A avec la configuration d’origine
  • Test B avec : arm_freq=1400 – over_voltage=6 – sdram_freq=475

Faisons calculer à notre Raspberry Pi les 5000 premières décimales de Pi…

Faites

sudo apt-get install bc
time echo "scale=5000;a(1)*4"|bc -l

Et voici les résultats obtenus  avec ma RPi 3 :

  • Test A : 1 mn 22.47 sec
  • Test B : 2 mn 11.32 sec

Grosse surprise ! Pour le test B qui est plus lent que le test A , alors que normalement on s’attendait à un gain quelconque !…
J’ai effectué plusieurs tests avec des paramètres différents, mais j’ai toujours un résultat aux alentours de 2 mn 15…

Au final, j’ai trouvé l’origine du problème. Il s’agit de l’alimentation qui n’était pas assez puissante.
Donc avec une alimentation délivrant 5V – 2.5A :

  • Test C : 1 mn 8.98 sec

Là, on voit bien le gain de performance…

Autre benchark

sudo apt-get install sysbench
sysbench --test=cpu --num-threads=4 run

résultats obtenus :

  • Alim <= 1 Ampère        |     Alim = 2.5 Ampères
  • Test A : 90.2192 sec     |     45.9051 sec
  • Test B : 88.8475 sec     |
  • Test C :                           |     39.3248 sec

Enfin on peut test la mémoire

sysbench --test=memory --memory-block-size=1M --memory-total-size=10G --num-threads=4 run

résultats obtenus :

  • Alim <= 1 Ampère        |     Alim = 2.5 Ampères
  • Test A : 1.2696 sec       |     0.8185 sec
  • Test B : 1.1972 sec       |
  • Test C :                           |     0.8015 sec

On peut dire que les résultats que j’ai obtenu sont bien meilleurs par rapport au paramétrage par défaut. Mais pour les obtenir, il faut obligatoirement avoir une alimentation digne de ce nom… On peut aussi voir qu’il suffit d’avoir une bonne alimentation pour obtenir un gain de performance non négligeable (cf tests A).

Voilà ! C’est à vous de jouer et n’hésitez à mettre vos réglages et résultats en commentaires.

Poster un Commentaire

Soyez le premier à commenter !

Notification