Linux sar-Befehl
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
- Historische Datenanalyse: Ermöglicht es Ihnen, den Systemstatus zu jedem beliebigen Zeitpunkt in der Vergangenheit anzuzeigen
- Umfassende Überwachung: Deckt alle wichtigen Leistungskennzahlen des Systems ab
- Geringer Overhead: Die Datenerfassung wirkt sich minimal auf die Systemleistung aus
- 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
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
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
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
sar -d 1 10
4.4 Netzwerkschnittstellenstatistiken anzeigen
Beispiel
sar -n DEV 1 5
5. Erweiterte Nutzung und Tipps
5. Kombinieren mehrerer Metriken zur Überwachung
Beispiel
sar -urdb 1 5
5.2 Berichte für einen bestimmten Zeitraum erstellen
Beispiel
sar -u -s 09:00:00 -e 10:00:00
5.3 Ausgabe in eine Datei speichern
Beispiel
sar -A 1 10 > system_report.log
5.4 Einen bestimmten CPU-Kern überwachen
Beispiel
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
Andere Erweiterungen
Linux-Befehlsenzyklopädie