02
Dez 2013
Marko

Linux Performance mit Bordmitteln beobachten

Ich möchte euch Kurz zeigen wie man die Performance eines Linux System ganz einfach für einige Zeit „mitschneiden“ kann ohne eine spezielle Analyzer Software zu installieren.
Selbstverständlich kann man mit spezieller Software noch viel detaillierte Auswertungen vornehmen. Für einen groben ersten überblick ob und wann es eng wird, reicht meine Methode jedoch völlig aus.

Zur Auswertung der Auslastung benutze ich den „Load Avarage Wert„.
Dieser gibt an wie viele Prozesse auf dem Computer gerade warten.
der Linux Befehl top listet in der  ersten Zeile sogar 3 load average Werte, gibt man top in das Terminal ein, sieht die erste Zeile der Ausgabe ca wie folgt aus.


13:40:15 up 542 days, 4:32, 2 users, load average: 0.00, 0.01, 0.00

die 3 Zahlen am Ende de Zeile beschreiben die durchschnittliche Anzahl der Wartenden Prozesse.
Die erste Zahl bezieht sich dabei auf die letzte Minute, der Zweite auf die letzten 5 Minuten die dritte Zahl gibt den Load Avarage der letzten 15 Minuten an.

Um diese Werte zeitgesteuert abzufragen, kann man nun einen einfachen cronjob erstellen, hier ein beispiel für alle 5 Minuten.


*/5 * * * * top -b | head -n 1 >> /logfile.txt

Sieht etwas Kompliziert aus, daher erläutere ich kurz die Parameter:

*/5 * * * *

dies ist die Notwendige Zeitangabe für einen Cronjob, in diesem Fall „alle 5 Minuten“

top -b

top als Programm welches ausgeführt werden soll, wie oben beschrieben. Der Parameter -b unterdrückt die Farbausgabe des Terminals (kann auf manchen Systemen ignoriert werden)

|

dieses Zeichen nennt man PIPE, die Ausgabe des ersten Befehls top wird damit an ein zweites Programm namens head weiter geleitet.

head n -1

Dieser Befehl gibt normalerweise die ersten 10 Zeilen einer Eingabe aus. In unserem Fall ist die Eingabe die Ausgabe von top.
Da uns nur die erste Zeile interessiert, Da wo die 3 Average Zahlen drin stehen.

>> /logfile.txt

die Zeichen >> bewirken, dass die Ausgabe in eine Text Datei geschrieben wird. In diesem Fall /logfile.txt

Einmal eingestellt schreibt dieser Cronjob alle 5 min die jeweils Aktuelle Load avarage in die angegebene Logfile.
Nach ein Paar Tagen kann man diese dann Bequem durchscrollen und Peaks identifizieren.


Kommentar verfassen