So verwenden Sie den sar-Befehl unter Linux

Veröffentlicht: 2022-06-16
Ein Linux-Terminal auf einem Laptop-Bildschirm.
fatmawati achmad zaenuri/Shutterstock.com

Mit dem Befehl sar können Sie Leistungsstatistiken für verschiedene Elemente Ihres Linux-Computers anzeigen, sowohl für Echtzeit- als auch für historische Daten. Wir zeigen Ihnen, wie Sie diese großartige Ressource nutzen können.

VERWANDT: Anzeigen von Systemleistungsstatistiken auf Ihrem Chromebook

Das sar-Kommando

Der Befehl sar oder System Activity Reporter ist Teil des sysstat -Pakets. Es erfasst eine Reihe von statistischen Informationen wie CPU-Auslastung, Speicherauslagerung, Speicherauslastung, Swap-Nutzung, Netzwerk-E/A und vieles mehr. Es stellt Ihnen diese Daten in Echtzeit-Snapshots zur Verfügung, die Ihnen zeigen, was gerade auf Ihrem Computer passiert, und in historischen Berichten.

Den Lastdurchschnitt auf Linux und anderen Unix-ähnlichen Systemen verstehen
RELATED Verstehen des Lastdurchschnitts auf Linux und anderen Unix-ähnlichen Systemen

Es läuft im Hintergrund als Daemon und sammelt alle zehn Minuten eine Reihe von Daten. Die Daten des aktuellen Tages werden in eine Textdatei geschrieben. Es wird nach Mitternacht in eine Binärdatei konvertiert. Die Dateien werden jeden Monat überschrieben, damit sie nicht ständig die Kapazität Ihrer Festplatte verschlingen.

Mit dem Befehl sar können Sie das System abfragen und die Statistiken anzeigen. Aber zuerst müssen Sie das sysstat -Paket installieren.

Installieren des sysstat-Pakets

Die Installation sysstat ist sehr einfach. Wir verwenden den Paketmanager Ihres Linux-Systems, um es zu installieren, und verwenden dann systemd , um den Hintergrund-Daemon zu aktivieren und zu starten.

Um sysstat auf Ubuntu zu installieren, verwenden wir apt:

 sudo apt installiere sysstat 

Installieren von sysstat mit apt auf Ubuntu

Um sysstat auf Fedora zu installieren, geben Sie Folgendes ein:

 sudo dnf installiere sysstat 

Systat mit dnf auf Fedora installieren

Und um Sysstat auf Manjaro zu installieren, verwenden wir Pacman:

 sudo pacman -S sysstat 

Systat mit Pacman auf Manjaro installieren

Anzeige

sysstat installiert ist, müssen wir es aktivieren, damit es jedes Mal, wenn Sie Ihren Computer booten, als Daemon – ein Hintergrundprozess – ausgeführt werden kann, und wir müssen es jetzt starten, damit wir es sofort verwenden können. Wir verwenden systemctl , Teil der systemd -Familie von Dienstprogrammen, um Daemons zu aktivieren und zu starten.

 sudo systemctl aktiviert sysstat 

Aktivieren des sysstat-Daemons

 sudo systemctl starte sysstat 

Starten des sysstat-Daemons

Um zu sehen, welche Version von sar Sie verwenden, und um sicherzustellen, dass es reagiert, können Sie die Option -V (Version) verwenden:

 sar-V 

Überprüfung der Version von sar

Echtzeit-Statistiken mit sar

Sie können sar verwenden, um zu sehen, was gerade in Ihrem Computer passiert. Und weil ein Schnappschuss genau das ist – der aktuelle Stand zu einem bestimmten Zeitpunkt – und manchmal ein Trend nützlicher ist, können Sie sar bitten, mehrere Schnappschüsse mit einer bestimmten Anzahl von Sekunden zwischen ihnen anzuzeigen.

CPU-Statistik

Um drei Sätze von CPU-Statistiken mit zwei Sekunden dazwischen anzuzeigen, würden wir diesen Befehl verwenden, der die Option -u (CPU) verwendet. Beachten Sie, dass das Intervall an erster Stelle steht. Dieser Befehl lautet also „Zeige die CPU-Statistiken in Schritten von zwei Sekunden für drei Datensätze“.

 sar -u 2 3 

Zeigt drei Sätze von CPU-Statistiken an

Durch das Dehnen Ihres Terminalfensters wird die Tabelle ordentlich ausgerichtet, sodass sie einfacher zu lesen ist.

Die Überschrift für die erste Spalte ist die Zeit, zu der der Befehl ausgeführt wurde. Die Werte in der Spalte geben die Zeit an, zu der jeder Datensatz erfasst wurde. Die anderen Spalten sind:

  • CPU : Die Nummer des CPU-Kerns oder ALL für den Durchschnitt aller Kerne.
  • %User : Der Prozentsatz der Zeit, die mit dem Ausführen von Anwendungen auf Benutzerebene „im Userland“ verbracht wurde.
  • %Nice : Der Prozentsatz der Zeit, die mit der Ausführung von Anwendungen auf Benutzerebene verbracht wird, mit Nice-Priorität.
  • %system : Der Prozentsatz der Zeit, die mit der Ausführung von Prozessen auf Systemebene im Kernel verbracht wird.
  • %iowait : Der Prozentsatz der Zeit, in der die CPU mit einer ausstehenden Festplatten-E/A-Anforderung im Leerlauf war.
  • %steal : In einer virtuellen Maschine ist dies der Prozentsatz der Zeit, in der die virtuelle CPU im Leerlauf war, weil die CPU des Hardwarehosts eine andere virtuelle Maschine bediente.
  • %idle : Der Prozentsatz der Zeit, in der sich die CPU im Leerlauf befand, ohne dass ausstehende Festplatten-E/A-Anforderungen vorhanden waren.
Anzeige

Die letzte Zeile ist der Durchschnitt der vorhergehenden Zeilen.

Um die Statistiken für einen bestimmten Kern anzuzeigen, verwenden Sie die Option -P (pro Prozessor). Darauf folgt die Nummer eines CPU-Kerns oder eine Liste oder ein Bereich von Kernnummern, wie 0,1,4 oder 4-8 .

Dieser Befehl betrachtet drei Datensätze mit einer Sekunde dazwischen für Kern 1. Denken Sie daran, dass die Kerne von Null an nummeriert werden.

 sar-P 1 1 3 

Anzeigen von CPU-Statistiken für einen einzelnen Kern

Speicher-Paging-Statistik

Die Option -B (Paging) bewirkt, dass sar Statistiken zum Paging des Speichers auf die Festplatte anzeigt. Wir werden nach zwei Sätzen von Informationen fragen, mit fünf Sekunden dazwischen.

 sar-B 5 2 

Speicher-Paging-Statistiken anzeigen

Die Spalten enthalten die folgenden Informationen.

  • pgpgin/s : Gesamtzahl der Kilobyte, die das System pro Sekunde von der Festplatte eingelagert (abgerufen) hat.
  • pgpgout/s : Gesamtzahl der Kilobyte, die das System pro Sekunde auf die Festplatte ausgelagert hat.
  • fault/s : Anzahl der Seitenfehler, sowohl kleinere als auch größere, die vom System pro Sekunde verursacht werden.
  • majflt/s : Anzahl der schwerwiegenden Fehler, die das System pro Sekunde gemacht hat und die das Laden einer Speicherseite von der Festplatte erfordert haben.
  • pgfree/s : Anzahl der Seiten, die das System pro Sekunde auf die Free-Liste platziert.
  • pgscank/s : Anzahl der vom kswapd -Daemon des Speicherverwaltungssystems gescannten Seiten pro Sekunde.
  • pgscand/s : Anzahl der direkt gescannten Seiten pro Sekunde.
  • pgsteal/s : Anzahl der Seiten, die das System pro Sekunde aus dem Cache zurückgewonnen hat.
  • %vmeff : Berechnet als pgsteal / pgscan , ist dies ein Hinweis auf die Effizienz der Seitenrückforderung.

E/A-Übertragungsraten

Verwenden Sie die Option -b (beachten Sie das kleine „b“), um die E/A- und Übertragungsratenstatistiken anzuzeigen. Wir fragen nach drei Datensätzen mit vier Sekunden dazwischen.

 sar-b 4 3 

Zeigt E/A-Übertragungsstatistiken an

Das halten die Säulen.

  • tps : Gesamtzahl der Übertragungsanfragen pro Sekunde, die an physische Geräte gestellt wurden. Beachten Sie, dass dies eine Anzahl von Anfragen ist. Sie waren vielleicht nicht alle erfolgreich.
  • rtps : Gesamtzahl der Leseanforderungen pro Sekunde, die an physische Geräte ausgegeben werden.
  • wtps : Gesamtzahl der Schreibanforderungen pro Sekunde, die an physische Geräte ausgegeben werden.
  • dtps : Gesamtzahl der Verwerfungsanforderungen pro Sekunde, die an physische Geräte ausgegeben werden.
  • Brot/s : Gesamtmenge der von physischen Geräten gelesenen Daten. Die Zahl wird in Blöcken von 512 Bytes pro Sekunde angegeben.
  • bwrtn/s : Gesamtmenge der auf physische Geräte geschriebenen Daten in Blöcken pro Sekunde.
  • bdscd/s : Gesamtmenge der verworfenen Daten in Blöcken pro Sekunde.

Es gibt viele weitere Kategorien von Informationen, die Sie zur Überprüfung auswählen können. Sie werden alle auf die gleiche Weise verwendet. Sie können auch die Option -A (all) verwenden, um einen vollständigen Dump von allem zu sehen, was sar auf Sie werfen kann.

Die vollständige Liste finden Sie auf der sar-Manpage.

VERWANDT: Was sind Lese-/Schreibgeschwindigkeiten und warum sind sie wichtig?

Historische Statistiken mit sar

Um die historischen Daten zu überprüfen, müssen Sie einfach die Optionen -s (Start) und -e (Ende) zu einem der üblichen sar Befehle hinzufügen. Die Zeiten werden im 24-Stunden-Format ausgedrückt.

Anzeige

Um zu sehen, wie die CPU-Last heute zwischen 06:30 und 07:15 war, verwenden wir diesen Befehl.

 sar -u -s 06:30:00 -e 07:15:00 

Zeigt historische Daten von früher heute

Um zu sehen, wie die Situation am Vortag war, verwenden Sie eine Zahl als Optionskennzeichen. Die Zahl gibt an, für welchen Tag berichtet werden soll. Die Option -1 würde gestern bedeuten, die Option -2 würde vor zwei Tagen bedeuten und so weiter.

Lassen Sie uns zwischen 13:00 und 13:00 Uhr einen Bericht mit den Daten von gestern erstellen.

 sar -u -1 -s 13:00:00 -e 13:30:00 

Zeigt historische Informationen von gestern

Eine andere Möglichkeit, den Tag anzugeben, für den Sie einen Bericht erstellen möchten, besteht darin, den Namen der Datendatei dieses Tages in der Befehlszeile zu verwenden. Wir tun dies mit der Option -f (Dateiname).

Die Tagesdateien heißen „saXX“, wobei XX durch den Tag des Monats ersetzt wird. Sie werden im Protokollordner Ihres Linux-Computers erstellt. Der sar -Protokollordner heißt wahrscheinlich „/var/log/sa/“ oder „/var/log/sysstat/“.

Anzeige

Unter Ubuntu ist es „/var/log/sysstat/“, also würde das Format unseres Befehls zum Anzeigen der CPU-Auslastung zwischen 14:00 und 14:30 für den 21. Tag dieses Monats wie folgt aussehen:

 sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21 

Anzeigen historischer Daten aus einer bestimmten Datendatei

Informationen sind Macht

Und sar gibt Ihnen sicherlich genügend Informationen, um fundierte Entscheidungen über die Leistung Ihres Computers zu treffen.

Wenn Sie in einer Support-Rolle sind – oder Sie der technische Support für Ihre Freunde und Familie sind – ist die Möglichkeit, historische Daten zu überprüfen, eine großartige Möglichkeit, sich mit einem Problem zu befassen, das Ihnen heute gemeldet wird, aber tatsächlich gestern aufgetreten ist. Oder letzte Woche.

VERWANDT: System langsam? So erkennen Sie, ob Linux an Speicher, CPU oder E/A gebunden ist