Linux Monitoring – iostat

Im Gegensatz zum im letzten Post behandelten Kommando vmstat, dessen Schwerpunkte das Memory Monitoring ist, gibt iostat Auskunft über den CPU-Status und die Input/Output Statistiken der angeschlossen Blockdevices.
Ähnlich wie bei vmstat ist iostat durch einen optionalen Intervall und der gewünschten Wiederholungsanzahl zu parametrisieren. Auch die Tatsache, dass es sich bei der ersten Ausgabe um einen kumulierten Wert seit Systemstart und bei den Weiteren um die Werte innerhalb des angegebenen Intervalls, lässt eine gewisse Ähnlichkeit erkennen.

Wie der Screenshot erkennen lässt gibt iostat ausführliche Infos über die Auslastung der angeschlossenen Devices. Somit zum einen einseitig belastete Disks zu identifizieren, zum anderen gibt die Statistik Aufschluss über das grundsätzliche Read/Write verhalten des entsprechenden Servers. Ohne Angabe von Parametern erfolgt die Ausgabe der übertragenen Daten in Blöcken. Die Optionen (-m) oder (-k) geben die entsprechenden Informationen in Mega- und Kilobyte.
Wichtig ist die Unterscheidung von await und svctm. Während await (average wait) sowohl die IO-Zeit innerhalb der Queue und die Servicetime listet, gibt svctm nur die Servicetime aus. Ist de svctm (Millisekunden) auffällig hoch, könnte dies auf ein technisches Problem im Plattensubsystem oder andere Verbindungsschwierigkeiten hindeuten, während eine hohe Gesamtlaufzeit (bei schneller Servicetime auf einen IO-Overload des entsprechenden Devices hindeutet.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.

Linux Monitoring – vmstat

Den letzten Post zum Thema Linux Monitoring haben wir dem Unix/Linux Klassiker top gewidmet. Er liefert bereits eine Vielzahl an Informationen zur Speicherverwaltung von Prozessen und der allgemeinen Systemauslastung. Etwas detailliertere Auskunft über die Auslastung des virtuellen Speichers gibt vmstat.
Bei Ausführung ohne Parameter gibt vmstat die Durchschnittswerte seit dem letzten Systemstart aus. Um vernünftige Echtzeitwerte zu bekommen sollte vmstat mit einem Delay von mindestens 5 Sekunden gestartet (vmstat 5) werden. Die Ausgabe teilt sich in folgende Bereiche:

  • procs
  • memory
  • swap
  • io
  • system
  • cpu
Die Manpage von vmstat gibt detailliert Auskunft über die Einzelwerte. Die wichtigsten Informationen sind in den Spalten r (running procs) sowie si und so  (swapped in and out). 

Die Zahl der running processes sollte die Zahl der verfügbaren Prozessoren nur kurzfristig übersteigen, da sich die stark CPU gebundenen Prozesse sonst stark verlangsamen. Gleiches gilt für überhöhte Swapping-Aktivität, welche das System innerhalb von Minuten zum erliegen bringen kann.Interessant ist auch die Option (-d) welche einem read/write/io Details für einzelne RAM und Blockdevices auflistet.
Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.

Linux Monitoring – top

In der MySQL-Performance-Serie haben wir uns ja bereits ausführlich mit den Möglichkeiten beschäftigt, einen MySQL-Server zu beschleunigen. Das grundlegende Speicherverhalten eines Linux-Systems ist jedoch für alle darauf laufenden Anwendung von größter Wichtigkeit. Die gängigen Distribution liefern nahezu alle notwendigen Werkzeuge mit, um einen Blick hinter die Kulissen zu werfen.
In den nächsten Wochen werden wir auf einige dieser Kommandos etwas näher eingehen und versuchen einen Überblick über Einsatz und Interpretation zu geben.
Als erstes Kommando, wollen wir in diesem Post top unter die Lupe nehmen. Wahrscheinlich gibt es keinen Linux Administrator, der dieses Kommando nicht kennt, jedoch wird es meist nur dafür verwendet, den CPU intensivsten Prozess schnellstmöglich ausfindig zu machen. Durch die interaktiven Konfigurationsmöglickeiten bietet Top aber vielmehr Möglichkeiten. Bei laufendem top kommt man über die Taste “h” zur Hilfe für die Interactive Commands. Dort besteht Konfigurationsmöglichkeit zur Sortierung, Anzeige und auch Beeinflussung bestimmter Prozesse durch Veränderung der Prozesspriorität (renice). Auch die Ergebnisfilterung auf Userbasis ist hier möglich und kann bei Bedarf auch gespeichert werden. Lediglich das dedizierte Monitoring einzelner Prozesse Bedarf den Neustart mit Angabe (-p) der zu überwachenden Prozesse. Übrigens gibt es auch einen Batchmode, welcher mit der Option (-b) aktiviert wird und eine leichte Protokollierung der Ausgabe ermöglicht.
Für längerfristigen Analysen ist jedoch sar die bessere Alternative auf die wir demnächst auch im Blog eingehen werden.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.