Raspberry Pi – Overklokken
LET OP: Eigen risico!, gebruik goede voeding en koeling!
Op deze pagina vind je een methode om de Raspberry Pi (3) te overklokken, aan de hand van een youtube filmpje geschreven.
Om te kijken waar de MAXIMALE frequentie op ingesteld is voor je Raspberry Pi, kun je het volgende commando gebruiken:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
geeft:
1200000
Om te kijken wat de HUIDIGE freqentie de processor is, gebruik het volgende commando:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
geeft:
600000
Waarom zit hier verschil in?, omdat de kloksnelheid van de Raspberry Pi (3) automatisch omlaag gaat als de processor niet heel veel hoeft te doen, bij (maximale) belasting gaat de kloksnelheiud omhoog.
De huidige temperatuur van de processor kan je zien met het commando:
vcgencmd measure_temp
Overklokken
Om de Raspberry Pi te overklokken moet het configuratiebestand bij opstarten aangepast worden:Â /boot/config.txt
Bewerk het bestand met het volgende commando:
sudo nano /boot/config.txt
Met arm_freq kan je de maximale kloksnelheid invoeren bijvoorbeeld voor 1300 Mhz:
arm_freq=1300
Naast kloksnelheid zal je ook meer voltage moeten toevoegen aan de processor om die snelheid te halen, dat kan met over_voltage
1 2 3 4 5 6 7 |
over_voltage=0 #runs CPU at 1.2v over_voltage=1 #runs CPU at 1.225v over_voltage=2 #runs CPU at 1.250v over_voltage=3 #runs CPU at 1.275v over_voltage=4 #runs CPU at 1.3v over_voltage=5 #runs CPU at 1.325v over_voltage=5 #runs CPU at 1.350v |
Raspberry pi op 1300 Mhz
1 2 |
arm_freq=1300 over_voltage=2 |
Raspberry pi op 1400 Mhz
1 2 |
arm_freq=1400 over_voltage=4 |
Benchmark – Sysbench
Om een goede benchmark uit te voeren hebben we Sysbench nodig, instelleer deze met het volgende commando:
sudo apt-get -y install sysbench
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: coinor-libipopt1 libboost-filesystem1.55.0 libboost-program-options1.55.0 libboost-regex1.55.0 libffi5 libgmime-2.6-0 libmumps-seq-4.10.0 liboauth0 libraw10 wolframscript Use 'apt-get autoremove' to remove them. The following extra packages will be installed: libmysqlclient18 mysql-common The following NEW packages will be installed: libmysqlclient18 mysql-common sysbench 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 759 kB of archives. After this operation, 3,479 kB of additional disk space will be used. Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main mysql-common all 5.5.54-0+deb8u1 [81.2 kB] Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libmysqlclient18 armhf 5.5.54-0+deb8u1 [622 kB] Get:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main sysbench armhf 0.4.12-1.1 [56.4 kB] Fetched 759 kB in 0s (1,474 kB/s) Selecting previously unselected package mysql-common. (Reading database ... 103643 files and directories currently installed.) Preparing to unpack .../mysql-common_5.5.54-0+deb8u1_all.deb ... Unpacking mysql-common (5.5.54-0+deb8u1) ... Selecting previously unselected package libmysqlclient18:armhf. Preparing to unpack .../libmysqlclient18_5.5.54-0+deb8u1_armhf.deb ... Unpacking libmysqlclient18:armhf (5.5.54-0+deb8u1) ... Selecting previously unselected package sysbench. Preparing to unpack .../sysbench_0.4.12-1.1_armhf.deb ... Unpacking sysbench (0.4.12-1.1) ... Processing triggers for man-db (2.7.0.2-5) ... Setting up mysql-common (5.5.54-0+deb8u1) ... Setting up libmysqlclient18:armhf (5.5.54-0+deb8u1) ... Setting up sysbench (0.4.12-1.1) ... Processing triggers for libc-bin (2.19-18+deb8u7) ... |
Een voorbeeld om de becnhmark te starten met wat priemgetallen is:
sysbench --test=cpu --cpu-max-prime=2000 --num-threads=4 run
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 2000 Test execution summary: total time: 4.9766s total number of events: 10000 total time taken by event execution: 19.8456 per-request statistics: min: 1.96ms avg: 1.98ms max: 17.52ms approx. 95 percentile: 1.97ms Threads fairness: events (avg/stddev): 2500.0000/4.85 execution time (avg/stddev): 4.9614/0.01 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 2000 Test execution summary: total time: 4.6411s total number of events: 10000 total time taken by event execution: 18.4901 per-request statistics: min: 1.81ms avg: 1.85ms max: 24.05ms approx. 95 percentile: 1.82ms Threads fairness: events (avg/stddev): 2500.0000/5.61 execution time (avg/stddev): 4.6225/0.01 |
Je ziet al een kleine verbetering met 100 Mhz extra!
Testscript
Gebruik het onderstaande testscript voor een echte stresstest van de Raspberry Pi
Maak een bash bestand aan met het commando:
sudo nano test.sh
Met daarin de volgende inhoud:
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash vcgencmd measure_temp sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run >/dev/null 2>&1 vcgencmd measure_temp sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run >/dev/null 2>&1 vcgencmd measure_temp sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run >/dev/null 2>&1 vcgencmd measure_temp sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run >/dev/null 2>&1 vcgencmd measure_temp |
Sla het bestand op (CTRL+O > ENTER, CTRL+X > ENTER) en maak het uitvoerbaar met het commando:
sudo chmod +x test.sh
Start het bash script met:
./test.sh
Ps, ik heb bovenstaande geprobeerd met 2000 (ipv 20000) en dit was het resultaat in <1 minuut op een Raspberry Pi 3 zonder koeling:
1 2 3 4 5 |
temp=44.0'C temp=56.4'C temp=60.7'C temp=63.4'C temp=65.5'C |