Sonntag, November 17, 2019

Raspberry Pi: Stresstest durchführen, Temperatur auswerten

-

Der Raspberry Pi 4 hat den Ruf deutlich mehr Hitze zu erzeugen als seine Vorgänger. Das kommt nicht unerwartet, schließlich hat er auch deutlich mehr Leistung als seine Vorgänger. Wenn die Temperatur des Prozessors 80 Grad übersteigt, drosselt der Raspberry Pi die Geschwindigkeit um weniger Wärme zu erzeugen.

In den meisten Fällen tritt diese Situation nicht ein, da der Raspberry Pi nicht ständig auf Vollast läuft. Je nach Anwendungsfall überhitzt der Pi nicht einmal im geschlossenen Originalgehäuse. Für anspruchsvollere Aufgaben verwende ich ein Gehäuse mit eingebautem Lüfter. Das hat den Raspberry Pi im Praxiseinsatz immer vor Überhitzung und Drosselung bewahrt.

×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Um den ICE-Cooler Turmkühler für den Raspberry Pi zu testen, musste ich diesen jedoch unter Dauerstress setzen um möglichst viel Hitze zu erzeugen. Hierzu habe ich die beiden Tools Stressberry und CPUBurn verwendet. Beide Tools führen einen Lasttest auf dem Raspberry Pi durch, indem sie durch aufwendige Rechenoperationen Last und damit Hitze erzeugen.

Raspberry Pi Stresstest mit Stressberry

Das schöne an Stressberry ist, dass es automatisiert verschiedene Stresstests durchführt und daraus direkt eine Grafik mit den Ergebnissen erstellt. Für einen schnellen ohne große Einrichtung und anschließende Nachbearbeitung ist Stressberry ideal. Allerdings hat es in meinem Test nicht ganz so viel Last und Hitze erzeugt wie CPUBurn.

Installation und Ausführung von Stressberry erfolgt über das Terminal mit folgenden Befehlen.

Installation von Stressberry:

sudo apt install stress

pip3 install stressberry --user

Nun kann der eigentliche Test ausgeführt werden mit dem folgenden Befehl.

stressberry-run out.dat
Stressberry im Terminal ausführen

Nach dem Start lässt Stressberry die CPU zuerst einige Zeit im Leerlauf laufen, damit die Ausgangstemperatur bei allen Tests gleich ist. Anschließend wird die CPU für fünf Minuten unter Maximallast gesetzt, was natürlich viel Hitze erzeugt. Danach darf die CPU wieder abkühlen. Das alles zeichnet Stressberry auf. Die Rohdaten liegen nun in der Datei „out.dat“ vor, die man mit dem Texteditor öffnen und anschauen kann.

Mit dem folgenden Befehl erstellt Stressberry aus den Rohdaten eine schöne grafische Darstellung der Temperaturentwicklung als Bild.

stressberry-plot out.dat -o out.png

Raspberry Pi Stresstest mit CPUBurn

CPUBurn hat bei mir nochmals mehr Last und mehr Hitze erzeugt als Stressberry. Allerdings übernimmt das Tool nur das Erzeugen der Last, um die grafische Auswertung muss man sich selbst kümmern.

Außerdem fängt CPUBurn direkt nach dem Start an, so viel Last und Hitze wie möglich zu erzeugen. Damit hört das Programm auch erst wieder auf, wenn man das Terminalfenster schließt. Man sollte also während des Tests die Temperatur und das Verhalten des Raspberry Pi beobachten. Wenn die Temperatur deutlich über 80 Grad steigt oder der Raspberry Pi instabil wird, würde ich den Test an dieser Stelle beenden um dem Raspberry Pi nicht zu schaden.

Die Installation erfolgt ebenfalls im Terminal mit den untenstehenden Befehlen. Der erste Befehl lädt den Programmcode herunter, während der zweite befehl daraus eine ausführbare Programmdatei erstellt.

wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S

gcc -o cpuburn-a53 cpuburn-a53.S

Den eigentlichen Stresstest habe ich anschließend mit folgendem Befehl ausgeführt. Dieser Befehl führt dazu, dass die Messergebnisse nicht im Terminal angezeigt werden, sondern stattdessen in die Datei stresstest.txt im Dokumentenverzeichnis geschrieben werden. Damit kann man diese Daten später mit Excel o.ä. auswerten.

Dabei wird die aktuelle Urzeit, die Kerntemperatur und die Taktfrequenz gespeichert. Dadurch sieht man sofort, nach welcher Zeit der Prozessor welche Temperatur erreicht hat und ob, bzw. wie stark die Geschwindigkeit gedrosselt wird.

while endless=0; do echo `date +%T` Uhr: `vcgencmd measure_temp; vcgencmd measure_clock arm`; sleep 10; done >> ~/Documents/stresstest.txt & ./cpuburn-a53 
CPUBurn Ergebnisse im Textformat

Die Ergebnisse aus der Textdatei man anschließend in Excel, Google Tabellen o.ä. zu schönen Kurven aufbereiten.

Möchte man die Messergebnisse direkt im Terminal sehen und benötigt keine Speicherung in einer Datei, dann kann man folgenden Befehl verwenden.

while endless=0; do echo `date +%T` Uhr: `vcgencmd measure_temp; vcgencmd measure_clock arm`; sleep 10; done & ./cpuburn-a53
CPUBurn im Terminal ausführen

Fazit zu Lassttest/Stresstest auf dem Raspberry Pi

Sowohl Stressberry als auch CPUBurn eignen sich hervorragend um einen Lassttest, bzw. einen Stresstest und die Temperaturentwicklung auf dem Raspberry Pi zu messen.

Stressberry ist dabei die Lösung, die am schnellsten Ergebnisse liefert, da das Tool nicht nur automatisch Tests durchführt, sondern die Ergebnisse außerdem grafisch aufbereiten kann.

Mit CPUBurn ist man dafür deutlich flexibler. Das Tool macht nichts anderes als Last und Hitze zu erzeugen. Um die Ausgabe, Aufzeichnung und Auswertung der Ergebnisse muss man sich selbst kümmern. Dafür ist man bei der Laufzeit des Tests nicht festgelegt, und kann außerdem noch weitere Parameter wie die Taktfrequenz des Prozessors messen.

Hinterlasse einen Kommentar

Please enter your comment!
Die Angabe von Name oder Webseite ist optional. Weitere Informationen: siehe Datenschutzerklärung

Please enter your name here