So verwenden Sie den sar-Befehl unter Linux
Veröffentlicht: 2022-06-16
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.
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
Um sysstat
auf Fedora zu installieren, geben Sie Folgendes ein:
sudo dnf installiere sysstat
Und um Sysstat auf Manjaro zu installieren, verwenden wir Pacman:
sudo pacman -S sysstat
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
sudo systemctl starte sysstat
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
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
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.
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
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
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
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.
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
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
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/“.
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
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