Linux sar-Befehl

Linux 命令大全Linux-Befehlsenzyklopädie


1. Was ist der sar-Befehl?

sar (System Activity Reporter) ist ein leistungsstarkes Tool zur Leistungsüberwachung auf Linux-Systemen und ist Teil des sysstat-Pakets. Es kann verschiedene Aktivitätsinformationen über das System sammeln, melden und speichern, darunter:

  • CPU-Auslastung
  • Speichernutzung
  • I/O-Aktivität
  • Netzwerkstatistiken
  • Prozessaktivität
  • Gerätelast usw.

1.1 Vorteile des sar-Befehls

  1. Historische Datenanalyse: Ermöglicht es Ihnen, den Systemstatus zu jedem beliebigen Zeitpunkt in der Vergangenheit anzuzeigen
  2. Umfassende Überwachung: Deckt alle wichtigen Leistungskennzahlen des Systems ab
  3. Geringer Overhead: Die Datenerfassung wirkt sich minimal auf die Systemleistung aus
  4. Automatisierung: Kann so konfiguriert werden, dass periodisch automatisch Daten erfasst werden

2. Installation und Basiskonfiguration

2.1 Installieren des sysstat-Pakets

Auf den meisten Linux-Distributionen kann der sar-Befehl durch Installation des sysstat-Pakets erhalten werden:

# Ubuntu/Debian
sudo apt-get install sysstat

# CentOS/RHEL
sudo yum install sysstat

# Fedora
sudo dnf install sysstat

2.2 Aktivieren der Datenerfassung

Nach der Installation muss der Dienst zur Datenerfassung aktiviert werden:

Beispiel

# Die Konfigurationsdatei bearbeiten
sudo vi /etc/default/sysstat

# Ändern Sie ENABLED="false" in
ENABLED="true"

# Dienst neu starten
sudo systemctl restart sysstat

Standardmäßig sammelt sar alle 10 Minuten Daten und speichert sie in/var/log/sysstat/dem Verzeichnis.


3. Grundlegende Syntax und allgemeine Parameter

3.1 Grundlegendes Syntaxformat

sar [选项] [间隔时间] [次数]

3.2 Erklärung der allgemeinen Parameter

Parameter Beschreibung
-A Alle Berichte anzeigen
-u CPU-Auslastung anzeigen
-r Speichernutzung anzeigen
-b I/O- und Übertragungsratenstatistiken anzeigen
-n DEV Netzwerkgerätestatistiken anzeigen
-q Systemlast und Warteschlangenlänge anzeigen
-d Festplattenaktivität anzeigen
-P ALL Statistiken für jede CPU anzeigen
-s Startzeit angeben
-e Endzeit angeben
-f Daten aus der angegebenen Datei lesen

4. Praktische Anwendungsbeispiele

4.1 Echtzeitüberwachung der CPU-Auslastung

Beispiel

# Alle 2 Sekunden aktualisieren, insgesamt 5-mal anzeigen
sar -u 2 5

Beispielausgabe:

Linux 5.4.0-91-generic (hostname)  03/15/2023  _x86_64_  (4 CPU)

10:30:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:30:03 AM     all      5.12      0.00      1.02      0.51      0.00     93.35
10:30:05 AM     all      6.23      0.00      1.34      0.23      0.00     92.20

4.2 Historische Speichernutzung anzeigen

Beispiel

# Heutige Speichernutzung anzeigen
sar -r

# Für ein angegebenes Datum anzeigen (Datei muss angegeben werden)
sar -r -f /var/log/sysstat/sa15  # Daten für den 15.

4.3 Festplatten-I/O-Aktivität überwachen

Beispiel

# Festplattenaktivität überwachen, alle 1 Sekunde aktualisieren, insgesamt 10 Mal
sar -d 1 10

4.4 Netzwerkschnittstellenstatistiken anzeigen

Beispiel

# Netzwerkschnittstellenaktivität überwachen
sar -n DEV 1 5

5. Erweiterte Nutzung und Tipps

5. Kombinieren mehrerer Metriken zur Überwachung

Beispiel

# CPU, Arbeitsspeicher und Datenträger gleichzeitig überwachen
sar -urdb 1 5

5.2 Berichte für einen bestimmten Zeitraum erstellen

Beispiel

# CPU-Auslastung von 9 Uhr bis 10 Uhr anzeigen
sar -u -s 09:00:00 -e 10:00:00

5.3 Ausgabe in eine Datei speichern

Beispiel

# Überwachungsergebnisse in einer Datei speichern
sar -A 1 10 > system_report.log

5.4 Einen bestimmten CPU-Kern überwachen

Beispiel

# CPU0-Auslastung überwachen
sar -P 0 1 5

6. Leitfaden zur Dateninterpretation

6.1 Interpretation der CPU-Metriken

Metrik Bedeutung Gesunder Bereich
%user CPU-Auslastung im Benutzerbereich <70%
%system CPU-Auslastung im Kernelbereich <30%
%iowait CPU-Wartezeit auf E/A <5%
%idle CPU-Leerlaufzeit >20%

6.2 Interpretation der Speichermetriken

Metrik Bedeutung
kbmemfree Freier physischer Speicher (KB)
kbmemused Belegter physischer Speicher (KB)
%memused Speicherauslastungsrate
kbbuffers Von Puffern belegter Speicher (KB)
kbcached Von Cache belegter Speicher (KB)

6.3 Interpretation der Disk-Metriken

Metrik Bedeutung
tps Transfers pro Sekunde
rd_sec/s Gelesene Sektoren pro Sekunde
wr_sec/s Geschriebene Sektoren pro Sekunde
%util Geräteauslastung

7. Allgemeine Fehlerbehebung

7.1 Identifizierung von CPU-Engpässen

Wenn%useroder%systemdauerhaft über 80% bleibt, kann dies ein Hinweis sein auf:

  • Rechenintensive Anwendungen
  • Übermäßige Systemaufrufe
  • Code optimieren oder CPU-Ressourcen hinzufügen

7.2 Feststellen von unzureichendem Arbeitsspeicher

Wenn die folgenden Bedingungen gleichzeitig auftreten, kann unzureichender Arbeitsspeicher vorliegen:

  • %memusedKonstant über 90%
  • kbcachedDer Wert ist sehr niedrig
  • Swap-Partition (kbswpused) Auslastung ist hoch

7.3 Identifizierung von I/O-Engpässen

%iowaitHohe und Festplatten%utilHohe Werte zeigen an:

  • Festplatten-I/O wird zum Engpass
  • Möglicherweise werden schnellere Speichergeräte benötigt
  • Oder optimieren Sie I/O-intensive Vorgänge

Linux 命令大全Linux-Befehlsenzyklopädie

Andere Erweiterungen