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.