Mit Stresstest-Tools simulieren Sie auf einem Computer Höchstlasten und überwachen die sich im Gehäuse aufstauende Hitze.
Um neue Fahrzeugmodelle auf Herz und Nieren zu testen, gehen die Autohersteller mit ihren Prototypen nicht nur auf den Prüfstand, sondern fahren die Erlkönige auch auf öffentlichen Straßen. Dabei versuchen die Ingenieure nicht nur den deutschen Autoalltag abzubilden, sondern fahren ganz bewusst bei extremen Konditionen: in der Hitze einer Wüste, bei Eis und Schnee in Skandinavien sowie im feucht heißen Klima Asiens. Mithilfe solcher Stresstests versuchen die Autobauer sicherzustellen, dass die Fahrzeuge bei jedem Wetter zuverlässig funktionieren.
Ähnlich machen es auch die Hersteller von Computern. Bevor neue Geräte in den Handel kommen, müssen sie in der Klimakammer beweisen, dass sie auch bei Hitze und hoher Luftfeuchtigkeit nicht überhitzen, selbst wenn das Gerät über Stunden unter voller Last läuft. Nicht jeder Anwender kann oder möchte sich allerdings auf die Sorgfalt des Herstellers verlassen. Besonders wenn Sie einen Rechner oder einen Server in eigener Regie aufbauen, müssen Sie selbst dafür Sorge tragen, dass die einzelnen Komponenten auch unter Stress weiter funktionieren.
System unter Stress
Damit wäre schon der entscheidende Begriff genannt: Auch Computer brauchen einen Stresstest. Unter Linux steht dafür das Programm stress zur Verfügung. Es findet sich in der Regel unter ebendiesem Namen in den Paketquellen aller großen Distributionen.
Mit dem ersten Kommando aus Listing 1 spielen Sie das Programm auf einem Debian-basierten System (also auch unter Ubuntu oder Linux Mint) über die Kommandozeile ein. Ohne weitere Angaben aufgerufen, zeigt stress dann alle potenziell verfügbaren Parameter an (zweites Kommando). Bei Bedarf liefert die via man stress aufgerufene Manpage weitere Hilfe.
Listing 1
$ sudo apt install stress htop $ stress
Für den Stresstest müssen Sie ein wenig mit den Parametern jonglieren. Die Tabelle “Stress-Parameter” listet die wichtigsten Optionen auf. Für einen möglichst realistischen Stresstest sollten Sie alle Kerne der CPU sowie den Arbeitsspeicher vollständig auslasten. Dementsprechend wählen Sie über --cpu Anzahl_CPU-Kerne die Anzahl der CPU-Prozesse (im Jargon des Programms “Worker”). Über -m GByte_RAM --vm-bytes 1024M erhöhen Sie den Arbeitsspeicherverbrauch.
|
Parameter |
Funktion |
|---|---|
|
|
Anzahl der auf die CPU angesetzten Worker |
|
|
Anzahl der auf den RAM angesetzten Worker |
|
|
Bytes pro eingesetztem Worker (Standard: 256 MByte) |
|
|
beschleunigt das Auffüllen des Speichers |
|
|
Anzahl der auf die Ein-/Ausgabe angesetzten Worker |
|
|
Anzahl der Worker, die Last auf die Speichergeräte bringen |
|
|
Dauer des Tests in Sekunden |
Beachten Sie dabei, dass das Betriebssystem selbst noch Arbeitsspeicher zum Funktionieren benötigt. Ein frisch aufgesetztes System mit Ubuntu 19.04 und Gnome als Desktop-Umgebung belegte zum Beispiel auf dem mit 8 GByte Arbeitsspeicher ausgestatteten Testrechner etwa 900 MByte RAM. Würde Stress jetzt mit 8 Workern von jeweils 1024 MByte arbeiten, käme das System für die Dauer des Stresstests komplett zum Stehen – falls der Test überhaupt durchliefe. Reservieren Sie also sicherheitshalber 2 GByte RAM für das System. Ein entsprechendes Aufrufbeispiel für unseren Testrechner zeigt Listing 2.
Listing 2
$ stress -c 4 -m 6 --vm-bytes 1024M --vm-keep -i 5 -d 10 -t 60
Der Verlauf des Tests lässt sich mittels Top oder Htop überwachen (siehe Listing 1). Besonders die übersichtliche Darstellung von Htop hilft, die Auslastung des Systems zu verstehen (Abbildung 1). Während des Stresstests waren auf unserem Testrechner alle vier Kerne und der 8 GByte große Arbeitsspeicher des Systems fast komplett ausgelastet. Nach einer Minute (-t 60) endete der Test, und das System ließ sich wieder ohne Ruckeln flüssig bedienen.

Abbildung 1: Mit den richtigen Parametern aufgerufen, lastet Stress die CPU, das RAM sowie die Massenspeicher des Systems vollständig aus.
Temperaturen im Blick
Der Stresstest läuft nun. Allerdings wissen Sie noch nicht, in welcher Weise die hohe Systemlast den Rechner in Mitleidenschaft zieht. Sie könnten nun abwarten, bis Rauch aus dem Gehäuse aufsteigt (zum Glück regelt die CPU bei zu hohen Temperaturen automatisch herunter), oder Sie messen selbst regelmäßig Fieber. Dazu greifen Sie auf die Kommandozeilenprogramme Lm-sensors und Hddtemp zurück. Beide Werkzeuge laden Sie aus der Paketverwaltung der auf dem Rechner installierten Distribution. Je nach Rechner liefert das Kommando sensors ohne weitere Konfiguration schon Temperaturwerte (Listing 3).
Listing 3
$ sudo apt install lm-sensors hddtemp $ sensors nct6776-isa-0a00 Adapter: ISA adapter Vcore: +0.90 V (min = +0.00 V, max = +1.74 V) in1: +1.00 V (min = +0.00 V, max = +0.00 V) ALARM AVCC: +3.33 V (min = +0.00 V, max = +0.00 V) ALARM [...] acpitz-acpi-0 Adapter: ACPI interface temp1: +27.8 C (crit = +92.0 C) temp2: +29.8 C (crit = +92.0 C) coretemp-isa-0000 Adapter: ISA adapter Package id 0: +43.0 C (high = +87.0 C, crit = +91.0 C) Core 0: +37.0 C (high = +87.0 C, crit = +91.0 C) Core 1: +43.0 C (high = +87.0 C, crit = +91.0 C)
Eventuell müssen Sie jedoch vorab mit sudo sensors-detect einen Konfigurationsassistenten aufrufen. Das Programm erfragt, welche Hardware-Komponenten es austesten soll. Um möglichst alle Sensoren im System zu ermitteln, sollten Sie jede Frage mit [Y]+ und [Eingabe]+ beantworten. Am Ende lassen Sie die benötigten Kernel-Module in die Datei /etc/modules eintragen – das geschieht automatisch, wenn Sie die entsprechende Frage mit [Y] beantworten. Zu guter Letzt empfiehlt der Assistent, die Kernel-Module neu zu laden. Das dazu nötige Kommando gibt das Programm aus, unter Ubuntu 19.04 etwa sudo /etc/init.d/kmod restart. Alternativ starten Sie den Rechner einmal neu. Danach sollte der Aufruf von sensors die Messwerte diverser Spannungs- und Temperatursensoren ausgeben (Listing 3).
Auch Hddtemp erfordert eventuell noch Konfigurationsarbeiten. Das Programm wurde für konventionelle mechanische Festplatten konzipiert und liefert bei modernen SSDs oft keine Ergebnisse mehr (Listing 4). Die Geräte-ID (im Beispiel /dev/sda) ermitteln Sie am einfachsten mithilfe des Kommandos lsblk. SSDs besitzen übrigens sehr wohl Temperatursensoren, nur weiß Hddtemp oft nicht, wo es nach ihnen suchen soll. Sie können dem Programm jedoch recht leicht auf die Sprünge helfen.
Listing 4
$ sudo hddtemp /dev/sda
WARNUNG: Laufwerk /dev/sda scheint keinen Temperatur-Sensor zu haben.
WARNUNG: Das bedeutet nicht, dass es keinen besitzt.
[...]
/dev/sda: Samsung SSD 840 PRO Serise : kein Sensor
Dazu rufen Sie Hddtemp mit dem Schalter --debug auf und suchen nach der mit field(190) beginnenden Zeile. Verfügt die im Rechner verbaute SSD über einen Temperatursensor, sollte am Ende der Zeile ein Zahlenwert stehen (Listing 5). Er liefert die Temperatur des Bauteils in Grad Celsius. Klassische Festplatten schreiben die Temperatur hingegen in das Feld 194.
Listing 5
$ sudo hddtemp --debug /dev/sda ================= hddtemp 0.3-beta15 ================== Modell: Samsung SSD 840 PRO Serise ? field(5) = 0 [...] field(190) = 35 [...] Falls einer der Feldwerte der Temperatur zu entsprechen scheint, stellen Sie sicher, die hddtemp-Handbuchseite gelesen zu haben, bevor Sie einen Bericht senden (Abschnitt BERICHT). Danke. $ sudo hddtemp /dev/sda /dev/sda: Samsung SSD 840 PRO Serise : 35 C
Anhand der Festplattenkennung lässt sich nun die von Hddtemp genutzte Datenbank lokal aktualisieren. Öffnen Sie dazu die Datei /etc/hddtemp.db (bei manchen Distributionen auch unter /usr/share/hddtemp/ zu finden) in einem beliebigen Editor, und fügen Sie an deren Ende eine Zeile wie in Listing 6 an. Den Namen in den Anführungszeichen passen Sie dabei an die von Hddtemp ausgegebene Modellbezeichnung an. Unmittelbar danach sollte Hddtemp die Temperatur des Speichermediums ausgeben.
Listing 6
"Samsung SSD 840 PRO Serise" 190 C "Samsung SSD 840 PRO Serise"
Grafischer Stresstest
Die beiden grafischen Tools Psensor und GtkStressTesting setzen auf den Kommandozeilenwerkzeugen Stress, Sensors und Hddtemp auf. Psensor gibt es als gleichnamiges Paket in den Repositories der meisten Distributionen. Die Neuentwicklung GtkStressTesting dagegen lässt sich am leichtesten als Flatpak installieren (Listing 7). Für Arch-Nutzer bietet der Entwickler ein AUR-Kochrezept an, zudem gibt es für Fedora ein COPR-Paket. Details zur Installation sowie zum Bau der Anwendung aus dem Quellcode finden Sie auf der Homepage des Projekts [1].
Listing 7
$ sudo apt install psensor flatpak $ flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo $ flatpak --user install flathub com.leinardi.gst $ flatpak run com.leinardi.gst
Nach dem Aufruf (Listing 7, letzte Zeile) gibt Psensor den Temperaturverlauf ausgewählter Sensoren in Form fortlaufend aktualisierter Kurven aus (Abbildung 2). So erkennen Sie einen sich anbahnenden Hitzestau, bevor es zu Ausfällen von Komponenten kommt. Aktivieren Sie unter Psensor | Sensor Preferences einen Alarm, dann informiert Psensor Sie unverzüglich, sobald ein kritischer Wert überschritten wird. Optional richten Sie unter Psensor | Einstellungen | Startup ein, dass das Programm nach dem Login automatisch startet.

Abbildung 2: Psensor schreibt die Werte der im Rechner verbauten Spannungs- und Temperatursensoren fortlaufend mit.
GtkStressTesting nimmt Ihnen das Experimentieren mit den Optionen von Stress ab. Das Programm zeigt zudem diverse Hardware-Informationen an, wie etwa den Hersteller und das Modell des Motherboards und des Arbeitsspeichers (Abbildung 3). Zudem visualisiert es die Auslastung der CPU-Kerne und des RAMs. Damit es sämtliche Hardware-Daten auslesen kann, müssen Sie allerdings zuvor den Schalter Read all in der linken oberen Ecke des Fensters anklicken und dem Programm administrative Rechte einräumen.

Abbildung 3: GtkStressTesting ermittelt zahlreiche Daten zum System und übernimmt die Konfiguration des Testwerkzeugs Stress.
Sie starten den Stresstest mit einem Klick auf den grün hinterlegten Schalter Start. Dabei haben Sie die Möglichkeit, das Testverfahren, die Dauer und die Anzahl der Worker zu wählen. In der Voreinstellung ermittelt GtkStressTesting die Anzahl der für das System optimalen Prozesse automatisch. Nach dem Ende eines Durchlaufs zeigt ein grüner Haken oder ein rotes Durchfahrt-verboten-Schild neben dem Startknopf an, ob der Test erfolgreich verlief oder Probleme auftraten.
Fazit
Das Absolvieren eines Stresstests gehört zu den Pflichtaufgaben jedes IT-Verantwortlichen, der einen frisch aufgebauten Server ins Rechenzentrum stellen möchte. So lässt sich noch vor Ort klären, ob das System mit den Gegebenheiten klarkommt. Steckt der Server erst einmal im Rack und sitzt man wieder weit weg am Schreibtisch, ist es für schnelle Anpassungsarbeiten zu spät. Im schlimmsten Fall müsste ein Kollege zum Rechenzentrum fahren und ausgefallene Komponenten (oder gar das ganze System) austauschen.
Aber auch zu Hause lohnt es sich, seine Rechner unter Stress zu setzen. Besonders Bastler, die mit viel Liebe einen eigenen PC aus Einzelteilen zusammenstellen, sollten nach Ende der Montage prüfen, ob der Traumrechner auch unter Last zuverlässig arbeitet. Das gilt insbesondere für Anwender, die das Gehäuse stark dämmen oder gar auf Lüfter verzichten, um einen möglichst leisen PC aufzubauen. Bei solchen Geräten zeigt sich erst unter Volllast, ob die Rechnung aufgeht und der Computer einen kühlen Kopf behält.
Infos
-
GtkStressTesting: https://gitlab.com/leinardi/gst





