Login
Newsletter
Do, 26. Oktober 2017, 15:00

Systemleistung messen mit »sar«

Schöne Grüße aus der Vergangenheit

Der System Activity Report ist ein Unix-Standardprogramm, um die Systemleistung zu messen und Engpässe zu finden. Es kann auch heute noch nützlich sein, um den Verlauf der Systemnutzung über die Zeit zu betrachten.

Prinzipien von sar

Nicht zuletzt wegen der großen Nachfrage aus dem Unternehmensbereich gibt es heute unter Linux zahlreiche Werkzeuge, um die Systemleistung zu messen. Dabei geht es weniger um Benchmarks als darum, im realen Betrieb Engpässe und Einschränkungen zu finden. Beispielsweise kann es sein, dass eine bestimmte Software als zu langsam empfunden wird und man dann wissen will, woran es liegt.

Das Problem ist natürlich nicht neu und existierte bereits in der Anfangszeit von Unix. Aus dieser frühen Zeit stammen auch die ersten Werkzeuge, zu denen auch »sar« gehört.

Bei sar & Co. handelt es sich um reine Kommandozeilenprogramme, deren Syntax und Ausgabe immer noch der originalen aus System V Unix entspricht. Allerdings enthält es unter Linux einige Erweiterungen. Mit sar misst man systemweite Aktivitäten wie das Paging, Ein/Ausgabe-Transferraten, Ein/Ausgabe auf Blockgeräte, Dateisysteme, Interrupts, Netzwerk, Prozessoren, Prozess-Warteschlangen, Speicher, Swap, Kernel-Tabellen, serielle Schnittstellen und in jüngerer Zeit auch Huge Pages und Energieverwaltung, nicht dagegen einzelne Prozesse. Das bedeutet natürlich, dass man wissen muss, wie man die Daten von sar zu interpretieren hat. Es setzt also eine gewisse Erfahrung voraus. Findet man z.B. eine hohe Swap-Aktivität vor, so ist womöglich zu wenig RAM vorhanden, was man anhand der Speicher- (wenig freier Speicher) und auch der CPU-Statisiken (viel Leerlauf trotz bereiter Prozesse) zur gleichen Zeit verifizieren kann.

Während man mit Programmen wie ps, top, vmstat Momentaufnahmen des Systems erhält, ist sar darauf ausgelegt, Statistiken über lange Zeiträume zu sammeln. Das tut es effizient und störungsfrei, und daher kann es auch heute noch sinnvoll sein.

sar ist meist in einem Paket namens sysstat zu finden. Ob es nach der Installation direkt aktiviert wird oder nicht, hängt von der Distribution ab. Mit

Installation und Verwendung

systemctl --all | grep sysstat

kann man den Status sehen. Unter Debian muss man in der Datei /etc/default/sysstat die Variable ENABLED="true" setzen. Es gibt eine Konfigurationsdatei /etc/sysstat/sysstat, in der festgelegt wird, wie lange die Logs aufbewahrt werden und ob sie komprimiert werden, ähnlich wie bei der Syslog-Konfiguration.

Da bei sar die Daten per Cron gesammelt werden, braucht man nach dem Aktivieren nur noch zu warten. Für das Sammeln der Daten ist das Programm sadc zuständig, für Details kann man dessen Manpage lesen. Das Programm sar selbst ist für das Erstellen der Berichte zuständig. Ein Aufruf ohne Argumente liefert Daten zur CPU-Auslastung des laufenden Tages und ist identisch mit sar -u.

Mit den Optionen -s und -e schränkt man die Ausgabe zeitlich ein, z.B.:

sar -u -s 06:10 -e 07:00

06:15:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
06:25:01        all      1,49      0,00      0,64      0,03      0,00     97,83
06:35:01        all      1,51      0,00      0,65      0,03      0,00     97,81
06:45:01        all      1,58      0,00      0,65      0,03      0,00     97,73
06:55:01        all      1,54      0,00      0,64      0,03      0,00     97,78
Durchschn.:     all      1,53      0,00      0,64      0,03      0,00     97,79

Die Werte für zurückliegende Tage erhält man mit der Option -<n>, z.B. -1 für den Vortag. Auch eine Aufzeichnung kann man mit sar selbst durchführen, indem man mit -o eine Ausgabedatei, ein Intervall (in Sekunden) und optional die Zahl der Datensätze angibt. Dazu nutzt sar intern wiederum sadc. Alle Details kann man in den Manpages zu sar und den zugehörigen Programmen nachlesen.

Literatur

Hauke Richter: UNIX V.4 Systemverwaltung, 2. Aufl. 1993, Addison Wesley: Kapitel »Das Kommando sar(1)«

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten