Der Werkzeugkasten eines System-Administrators sollte immer mit effektiven Werkzeugen gefüllt sein. Heute stellen wir das Paket sysstat vor.
Das Paket sysstat ist eine Sammlung von Kommandozeilen-Programmen, die dem Systemadministrator einen schnellen Überblick über die Leistungsfähigkeit des Systems verschaffen. In ihrer Arbeitsweise sind sie ein Frontend zu den Daten des Linux-Kernels, und können dementsprechend nur Daten ausgeben, die der Kernel selbst kennt – sie sammeln keine Daten darüber hinaus!
iostat liefert vor allen Dingen Status-Informationen über den Datendurchsatz der Festplatten, angeschlossener NFS-Laufwerke und aller CPUs. Ist ein System im Leistungsverhalten auffällig, kann iostat verwendet werden, um z.B. IO-Waits zu identifizieren.
Linux 2.6.31-19-generic (mymachine) 04.03.2010 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 11,82 0,29 3,44 1,25 0,00 83,20 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 9,39 161,19 168,44 4264806 4456696
Die zur Verfügung stehenden Optionen sind dabei umfangreich, die Wichtigsten dienen vor allen Dingen der Feststellung für spezialisierte Ausgaben:
Das Werkzeug mpstat dient der genaueren Analyse der Prozessor-Auslastung – ohne weitere Option wird eine Standard-Übersicht gezeigt, die an die Ausgabe von iostat erinnert.
Linux 2.6.31-19-generic (mymachine) 04.03.2010 _x86_64_ (2 CPU) 17:01:52 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 17:01:52 all 11,96 0,29 3,26 1,23 0,10 0,11 0,00 0,00 83,06
Im Gegensatz zu iostat wird hier aber direkt schon die Arbeit mit aufgelistet, die der Prozessor an Soft- und Hardware-Interrupts verrichtet. Mit der Option -A wird die Ausgabe erweitert: die Statistiken werden pro Prozessor angezeigt, außerdem werden die Interrupts pro Sekunde pro Prozessor angezeigt.Eine Zahl $NUM hinter dem Befehl lässt diesen als Prozess laufen, und aktualisiert die Anzeige alle $NUM Sekunden.
pidstat hilft bei der Analyse einzelner Prozesse – während der Aufruf ohne Optionen noch eine Liste aller Prozesse anzeigt, hilft die Option -C bei der Spezifizierung der zu untersuchenden Tasks:
Linux 2.6.31-19-generic (mymachine) 04.03.2010 _x86_64_ (2 CPU) 17:02:32 PID %usr %system %guest %CPU CPU Command 17:02:32 1 0,00 0,00 0,00 0,00 1 init 17:02:32 2888 0,00 0,00 0,00 0,00 0 start_kdeinit 17:02:32 2889 0,00 0,00 0,00 0,00 0 kdeinit4
Mit der zusätzlichen Option -d werden I/O-Statistiken zu den Prozessen angezeigt. Mit -p kann die PID definiert werden statt des Prozess-Namens, -r verschafft einen Überblick über die Speicherauslastung. Eine Zahl $NUM hinter dem Befehl lässt diesen als Prozess laufen, und aktualisiert die Anzeige alle $NUM Sekunden.
Die bisher vorgestellten Informationen geben jeweils nur einen Schnappschuss der Systemleistung wieder, echtes Status-Logging findet hier aber nicht statt. Dafür ist das Programm sar mit seinen Helfer-Programmen verantwortlich: es nimmt via Cron-Job alle 10 Minuten verschiedene Leistungsdaten des Systems auf, und sichert diese. Ein einfacher Aufruf gibt eine erste Idee des Performance-Verhaltens:
Linux 2.6.31-19-generic (mymachine) 04.03.2010 _x86_64_ (2 CPU) 09:30:30 LINUX RESTART 09:35:02 CPU %user %nice %system %iowait %steal %idle 09:45:01 all 17,38 1,02 5,10 3,87 0,00 72,63 09:55:01 all 11,90 0,27 2,86 0,75 0,00 84,23 10:05:01 all 10,20 3,52 3,46 2,55 0,00 80,27 10:15:02 all 12,96 0,32 3,18 0,65 0,00 82,89 10:25:01 all 7,94 0,18 3,17 2,42 0,00 86,30 10:35:01 all 12,41 0,89 4,55 0,56 0,00 81,60 10:45:02 all 8,97 0,09 3,51 0,89 0,00 86,55
Der Abruf aller Informationen mit sar -A sprengt aber leicht jede Bildschirmgröße. Die unterschiedlichen Einzel-Optionen sind zu zahlreich, um sie hier detailliert aufzulisten, einen Überblick gibt die Man-Page.
Dieser Artikel wurde ursprünglich geschrieben von Roland Wolters.
Kategorien: | HowTos |
---|---|
Tags: | Linux |