Kernel-Tuning für Linux

Werkzeugkasten

"You can't manage what you can't measure", lautet ein alter Grundsatz des Performance-Managements. Bevor wir uns also an die Optimierung des Systems begeben, müssen wir uns einige Messwerkzeuge bereitlegen. Die meisten davon hat jede gängige Linux-Distribution ohnehin an Bord. So lässt sich beispielsweise mit dem Befehl time die Zeit messen, die Programme oder Skripts zur Abarbeitung benötigen. Dabei stellt man time einfach dem jeweiligen Kommando voran. Für die Kompilation des Kernels mit

time make dep clean bzImage modules

liefert unser Testrechner beispielsweise die Ausgabe:

real 36m42.392s
user 33m25.870s
sys 1m48.700s

Dabei gibt der real-Anteil die gesamte verbrauchte Laufzeit wieder. Die Werte für user und sys signalisieren die vom getesteten Programm/Skript respektive vom System verbrauchte Zeit. Differenzen zwischen der Summe der user- sowie sys-Werte und der Gesamtlaufzeit ergeben sich aus dem Ressourcenverbrauch anderer Prozesse.

Die momentane Belegung des Arbeitsspeichers lässt sich jederzeit durch die Ausgabe der Datei /proc/meminfo feststellen. Der Befehl

cat /proc/meminfo

liefert eine recht umfangreiche Ausgabe, an der uns speziell vierWerte interessieren: used zeigt den gesamten belegten Speicher, MemFree die verbleibende Reserve. Buffers und Cached zeigen an, wie viel des belegten Speichers Linux für den jeweiligen Zweck verbraucht.