1934349

So testen Sie die Leistung Ihrer Hardware unter Linux

08.06.2016 | 09:09 Uhr |

Wie schnell sind Komponenten wie CPU, RAM und Datenträger wirklich? Benchmark-Werkzeuge informieren nicht nur zuverlässig über die Leistung, sondern entlarven auch Stabilitätsprobleme unter Last.

Benchmark-Programme erzeugen künstlich hohe Auslastung für ausgewählte Systemkomponenten und liefern einheitliche Messwerte zum Leistungsvergleich zwischen PCs und Servern. Von besonderem Interesse sind diese Infos vor und nach Änderungen der Systemkonfiguration oder der Hardware. Zudem eignen sich solche Stresstests, um die Stabilität eines Systems zu ermitteln. 

Sysbench-Suite: Diese Benchmark-Sammlung eignet sich nicht nur für Datenbank-Server. Hier lief gerade der CPU-Benchmark und zeigt jetzt die benötigte Zeit in Sekunden an.
Vergrößern Sysbench-Suite: Diese Benchmark-Sammlung eignet sich nicht nur für Datenbank-Server. Hier lief gerade der CPU-Benchmark und zeigt jetzt die benötigte Zeit in Sekunden an.

Moderne CPUs von Intel und AMD halten die Leistungsaufnahme mit integrierten Stromsparfunktionen möglichst niedrig und fahren die Taktfrequenz im Leerlauf selbständig zurück. Unter Last hingegen muss sehr schnell erhebliche thermische Verlustleistung über kleinste Flächen abgeführt werden. Gelingt dies nicht und wird der spezifizierte Wert des TDP (Thermal Design Power) überschritten, schaltet sich das System ab, oder es kommt zu Abstürzen. Gerade leistungsfähige, kompakte Ultrabooks gehen mit ihrer Dimensionierung von Kühlkörpern und Lüftern ans Limit. Gezielte Stresstests sind deshalb auch immer ein Mittel zur Fehlersuche bei instabilen Systemen.

Dieser Artikel stammt aus der LinuxWelt 2/2014

Linux Mint 16: Das beste Ubuntu! Warum Linux Mint zum Desktop-Favorit vieler Linux-Anwender aufgestiegen ist, wie Sie es installieren und richtig einstellen - das und mehr finden Sie in der neuen LinuxWelt 2/2014 .

Benchmark-Tools für Linux gibt es Dutzende für verschiedene Ansprüche und in unterschiedlichen Formen – mal mit, mal ohne GUI. Hier geht um die handlichen Test-Suiten von Sysbench und Bonnie++. Diese beiden laufen mit wenig Aufwand unter allen Linux-Distributionen, haben sich in ihrem jeweiligen Aufgabenbereich etabliert und liefern allgemeinverständliche und gut zu vergleichende Ergebnisse.

Steam-OS: Spiele-Volldampf auf Linux-Basis

CPU-Benchmarks und Prozessorlast

Der Linux-Kernel schätzt die Leistung der CPU beim Booten zur Kalibrierung interner Warteschleifen mit der Pseudo-Einheit „Bogo MIPS“ ein. Dies ist eine nicht ganz ernstgemeinte Wortschöpfung Linus Torvalds, die sich aus „Bogus“ (unecht) und MIPS (Millionen Instruktionen pro Sekunde“) zusammensetzt.

Dieser Wert lässt sich im Terminal unter anderem mit dem Befehl

dmesg | grep bogoMIPS

abfragen. Bogo MIPS sind aber kein Maß für die Rechengeschwindigkeit einer CPU, sondern nur ein Indikator für dessen ungefähre Taktfrequenz.

Zum Vergleich zweier Prozessoren müssen diese eine tatsächliche Aufgabe bewältigen. Dafür eignen sich die Werkzeuge aus dem Paket „sysbench“, das in allen verbreiteten Distributionen zur Verfügung steht. Es handelt sich um eine Benchmark-Sammlung für CPU, Thread-Timer, Dateisystem, Speicher und simulierte My-SQL-Abfragen. Eine Besonderheit ist, dass Sysbench zwar spezielle Leistungstests für Datenbankserver auf Lager hat, aber auch einfach CPU-Tests mit mehreren Threads starten kann. In Debian/Ubuntu wird es im Terminal mit

sudo apt-get install sysbench

installiert. Einen kurzen CPU-Test zur Primzahlberechnung mit vier Threads starten Sie mit diesem Befehl

sysbench --test=cpu --numthreads=4 run

In der Ausgabe ist der Wert „total time“ von Bedeutung, der die Zeit zur Berechnung von 100 000 Primzahlen in Sekunden angibt. Bei gleichen Parametern eignet sich dieser Wert gut zum Vergleich zwischen Systemen. Soll für Stabilitätstests nur eine möglichst hohe CPU-Last erzeugt werden, ist Sysbench ebenfalls das passende Werkzeug. Das Kommando 

sysbench --test=cpu --cpu-maxprime=-1 –num-threads=4
Durchsatzraten von Datenträger-Zugriffen: Bonnie++ führt eine Reihe von Lese- und Schreiboperationen aus. Das Ergebnis zeigt die Messwerte (markierter Bereich).
Vergrößern Durchsatzraten von Datenträger-Zugriffen: Bonnie++ führt eine Reihe von Lese- und Schreiboperationen aus. Das Ergebnis zeigt die Messwerte (markierter Bereich).

startet die Berechnung von Primzahlen in vier Threads, bis das Programm mit Strg-C manuell unterbrochen wird. Damit die CPU ausreichend beschäftigt wird, sollte die Zahl der Threads im Parameter „-num-threads=[Wert]“ mindestens der Anzahl der physikalischen Prozessorkerne entsprechen.

Mit Hilfe des Tools Sensors können Sie dabei in einem anderen Terminal-Fenster die CPU-Temperatur durch den wiederholten Aufruf von sensors im Auge behalten. Bei Debian/Ubuntu steht Sensors im Paket „lm-sensors“ bereit, bei Open Suse hat es den Paketnamen „sensors“ und Fedora kennt es als „lm_sensors“.

Praktische Hardware-Tipps für Linux

Durchsatzraten des Speichers ermitteln

Das Programm Sysbench liefert auch einen Test für die Durchsatzraten des Speicher-Subsystems. Dazu reserviert der Test einen Puffer im RAM, der dann sequenziell beschrieben und ausgelesen wird. Mit dem Aufruf

sysbench --test=memory --memoryblock-size=1G run

weisen Sie Sysbench an, 1 GB RAM zu reservieren. In der Standardeinstellung testet Sysbench den Durchsatz von 100 GB. Der Messwert unter „Operations performed“ zeigt dann die Transferrate in MB pro Sekunde.

Bonnie++: Leistungstest für Datenträger

Sysbench enthält zwar auch ein Testmodul für Lese-Schreib-Operationen, kann dabei aber nicht gezielt einen Datenträger unter die Lupe nehmen. Dafür ist das Werkzeug Bonnie++ besser geeignet, das ebenfalls in allen großen Distributionen verfügbar ist. Es testet den Datendurchsatz bei Lese- und Schreiboperationen jeweils sequenziell und mit zufälligen Blöcken. Nach der Installation, die bei Debian/Ubuntu mit sudo apt-get install bonnie++ erfolgt, starten Sie einen Test abhängig von der Größe des RAM und des gewünschten Verzeichnisses (für temporäre Dateien) etwa mit diesem Befehl:

/usr/sbin/bonnie++ -r 4096 -d / home/[benutzer]
HTML-Tabelle: Bonnie++ hat das Script „bon_csv2html“ dabei, das die Ergebnisse in diese Tabelle umwandelt.
Vergrößern HTML-Tabelle: Bonnie++ hat das Script „bon_csv2html“ dabei, das die Ergebnisse in diese Tabelle umwandelt.

Die Angabe „4096“ ist die Größe des physischen RAMs in MB, hier 4 GB. Diese Angabe ist hilfreich, damit der Disk-Benchmark die Dateigrößen groß genug wählt, damit diese nicht in den Dateisystem-Cache des Kernels passen. Denn das würde die Ergebnisse stark verfälschen. Standardmäßig arbeitet Bonnie++ mit Testdateien von der doppelten Größe des angegebenen RAMs, hier also 8 GB. Hinter dem Parameter „-d“ erfolgt die Pfadangabe, wo Bonnie++ seine temporären Daten ablegen soll. Es wird die Durchsatzrate des Datenträgers getestet, auf dem dieses Verzeichnis liegt. Wenn Sie den Test nicht als root starten, benötigen Sie dort natürlich Schreibrechte, und es muss genügend freier Platz verfügbar sein. Der Test dauert einige Minuten, und die Ausgabe erfolgt tabellarisch auf der Befehlszeile. Eine CSV-Tabelle produzieren Sie mit dem angehängten Parameter „-q“ wie folgt:

/usr/sbin/bonnie++ -r 4096 -d / home/[benutzer] -q >>messwerte.csv

Die resultierende Datei wandeln Sie mit dem Befehl

bon_csv2html messung.csv >messung.html

in eine im Browser darstellbare HTML-Datei um.

Die Pluszeichen bei einigen Messwerten bedeuten, dass Bonnie nicht genug Messungen für einen verlässlichen Mittelwert gesammelt hat. Die Anzahl der Messungen lässt sich mit der Zahl der temporären Dateien mit dem Parameter „-n [Faktor]“ um den Faktor 1024 erhöhen.

0 Kommentare zu diesem Artikel
1934349