Rund um den Raspberry Pi finden Sie im Netz zahlreiches Zubehör. In der Tuner-Ecke gibt es sogar Kühlkörper für die RasPi-CPU – doch braucht es die wirklich?
README
In klassischen PCs schaffen fortwährend surrende bis dröhnende Lüfter die durch die CPU erhitzte Luft aus dem Gehäuse. Der Raspberry Pi besitzt nicht einmal passive Kühlelemente. Die lassen sich günstig nachrüsten. Wir haben nachgesehen, was sie bewirken.
Der ARM1176JZF-S-Prozessor des Broadcom BCM2835-SoC auf dem Raspberry Pi arbeitet in der Standardeinstellung mit konstant 700 MHz, obwohl der Hersteller der CPU an sich eine Taktrate von bis zu 1 GHz erlaubt [1]. Damit besitzt der RasPi in etwa die Rechenleistung eines 300 MHz schnellen Pentium II von 1997. Der VideoCore-IV-GPU ist es zu verdanken, dass auf dem RasPi grafische Oberflächen wie LXDE in ausreichender Geschwindigkeit laufen.
Nun erlaubt die Raspberry Pi Foundation schon seit einer ganzen Weile ganz offiziell das Übertakten des RasPi [2]. Die Entwickler lassen überhöhte Spannungen und Taktraten von bis zu 1 GHz zu, solange die in der CPU des BCM2835-SoC ermittelte Kerntemperatur die erlaubten 85 Grad Celsius nicht überschreitet. Im über das Konfigurationswerkzeug Raspi-config aktivierten Turbo-Modus (Abbildung 1) taktet das System nur bei Bedarf hoch – so bleibt die CPU im Leerlauf weiterhin sehr kühl.

Abbildung 1: Im Turbo-Modus taktet die CPU des Raspberry Pi bei hoher Last auf bis zu 1 GHz hoch. Dabei hebt das Betriebssystem gleich auch die Versorgungsspannungen an.
Im Gegensatz zu klassischen PCs kommt der RasPi ohne eine Kühlung aus – passive Kühlelemente, geschweige denn aktive Lüfter, finden Sie auf der Platine des RasPi an keiner Stelle. Üblicherweise braucht der Rechenzwerg diese auch nicht, denn die maximal zulässigen 85 Grad Celsius erreicht die CPU auch nach stundenlanger Höchstlast nicht. Dennoch bieten viele Händler im Internet passive Kühlkörper aus Aluminium oder gar Kupfer zum Aufkleben an. Günstige Varianten sind schon ab 2,50 Euro zu haben. Wir testen, was der Einsatz solcher Kühlelemente eigentlich bringt.
Munin für den Raspberry Pi
Bevor wir die Kühlkörper aufbringen, müssen wir in der Lage sein, die Temperaturstände und die Systemauslastung zu protokollieren. Dafür bietet sich die Monitoring-Software Munin [3] an. Sie greift zum Messen der Temperaturen und Spannungen im System üblicherweise auf die Ausgaben von Lm_sensors [4] zurück. Dieses Programm findet auf einem RasPi mit Raspbian “Wheezy” allerdings keine Sensoren – stattdessen bringt ein Blick in die Datei /sys/class/thermal/thermal_zone0/temp oder die Ausgabe des Kommandos vcgencmd [5] die gewünschten Informationen (Listing 1). Mit dem Munin-Plugin Pisense [6] lassen sich die mit Vcgencmd ermittelten Daten dann auch in Munin integrieren.
Listing 1
$ cat /sys/class/thermal/thermal_zone0/temp 39546 $ vcgencmd measure_temp temp=39.0'C $ vcgencmd measure_volts volt=1.200V $ vcgencmd measure_clock arm frequency(45)=700072000
Um Munin auf dem Raspberry Pi zu installieren, müssen Sie den Dienst mitsamt einem Webserver aus den Paketquellen einspielen und dann die von Munin generierten Daten in das WWW-Verzeichnis des Webservers verlinken (Listing 2). Da der RasPi nicht gerade mit einem Übermaß an Leistung ausgestattet protzt, empfiehlt sich Lighty [7] als schlanker und ressourcenschonender Webserver. Besitzen Sie schon einen anderen Munin-Server im Netz, so müssen Sie lediglich den Munin-Node installieren und die Munin-Instanz auf dem Hauptrechner so konfigurieren, dass sie die Daten vom RasPi-Node abholt – in unserem Fall belassen wir alles auf dem RasPi.
Listing 2
$ sudo apt-get install munin munin-node lighttpd $ sudo ln -s /var/cache/munin/www/ /var/www/munin
Nach der Installation von Munin müssen Sie das Pisense-Modul einspielen. Sie holen es entsprechend Listing 3 von GitHub, ordnen es dem Root-User zu und machen es ausführbar. Zum Auslesen der Temperaturen fehlen dem Benutzer, in dessen Kontext der Munin-Dienst läuft, üblicherweise die nötigen Rechte. Mit dem Inhalt aus Listing 4 in der neu zu erstellenden Datei /etc/munin/plugin-conf.d/pisense geben Sie daher vor, dass Munin diesen Part mit Root-Rechten ausführen soll.
Listing 3
$ cd /usr/share/munin/plugins $ sudo wget https://raw.githubusercontent.com/perception101/pisense/master/pisense_ $ sudo chown root:root pisense_ $ sudo chmod 755 pisense_
Listing 4
[pisense_*] user root
Zum Abschluss müssen Sie Pisense noch aktivieren. Ähnlich wie beim Apache-Webserver geschieht dies durch Verlinken des jeweiligen Moduls von /usr/share/munin/plugins nach /etc/munin/plugins (Listing 5). Als Wildcard-Modul (zu erkennen an dem Unterstrich nach dem Modulnamen) übergeben Sie Munin mit den Zusätzen clock, volt und temp die Aufforderung, die Taktraten, die Spannungen oder eben die von der CPU ermittelten Temperaturen auszulesen. Damit Munin das neue Modul berücksichtigt, starten Sie den Dienst am Ende neu.
Listing 5
$ sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_temp $ sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_clock $ sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_volt $ sudo service munin-node restart
Anschließend erzeugt Munin in der Sensors-Kategorie des unter http://localhost/munin beziehungsweise http://<I>RasPi-IP<I>/munin abrufbaren Webreports die Graphen mit den Verläufen der Spannungen, Taktraten und der Kerntemperatur der RasPi-CPU (Abbildung 2). Damit Sie nicht darauf warten müssen, dass der Munin-Cronjob die Daten aktualisiert, lassen Sie sich mit munin-run die von Munin ermittelten Daten im Terminal ausgeben (Listing 6). So erkennen Sie Fehler in der Konfiguration ohne Wartezeiten.
Listing 6
$ sudo munin-run pisense_temp temp.value 32.6 $ sudo munin-run pisense_clock clockarm.value 1000000000 clockcore.value 500000000 [...] $ sudo munin-run pisense_volt voltcore.value 1.350 voltsdram_c.value 1.200 voltsdram_i.value 1.200 voltsdram_p.value 1.225






