KENNTNISSE · DIENSTLEISTUNGEN UND VPS
Wie man Sar verwendet, um Serverressourcen zu überwachen (linux)
Letzte Aktualisierung 2025-06-16
SAR 10 VERWENDUNGEN
1. CPU-Nutzung ALLER CPUs (sar -u)
This gives the cumulative real-time CPU usage of all CPUs. “1 3″ reports for every 1 second a total of 3 times. Most likely you’ll want to focus on the last field “%idle” to see the cpu load.
$ sar -u 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:27:32 PM CPU %user %nice %system %iowait %steal %idle 01:27:33 PM all 0.00 0.00 0.00 0.00 0.00 100.00 01:27:34 PM all 0.25 0.00 0.25 0.00 0.00 99.50 01:27:35 PM all 0.75 0.00 0.25 0.00 0.00 99.00 Average: all 0.33 0.00 0.17 0.00 0.00 99.50
Im Folgenden einige Variationen:
- sar -u Zeigt die CPU-Auslastung für den aktuellen Tag an, der bis zu diesem Zeitpunkt gesammelt wurde.
- sar -u 1 3 Zeigt Echtzeit-CPU-Auslastung alle 1 Sekunde für 3 mal.
- sar -u ALL Gleiches wie “sar -u” zeigt aber zusätzliche Felder an.
- sar -u ALL 1 3 Gleiches wie “sar -u 1 3″ zeigt aber zusätzliche Felder an.
- sar -u -f /var/log/sa/sa10 Zeigt die CPU-Auslastung für den 10-Tag des Monats aus der Sa10-Datei an.
2. CPU-Nutzung von Einzel-CPU oder Core (sar -P)
Wenn Sie 4 Kerne auf Ihrem Server haben und sehen möchten, was jeder der einzelnen Kerne tut, führen Sie Folgendes aus.
“-P ALL” zeigt an, dass es Statistiken für ALLE einzelnen Kerne anzeigen sollte.
Im folgenden Beispiel geben die Zahlen unter “CPU” Spalte 0, 1, 2 und 3 die entsprechenden CPU-Kernnummern an.
$ sar -P ALL 1 1 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:34:12 PM CPU %user %nice %system %iowait %steal %idle 01:34:13 PM all 11.69 0.00 4.71 0.69 0.00 82.90 01:34:13 PM 0 35.00 0.00 6.00 0.00 0.00 59.00 01:34:13 PM 1 22.00 0.00 5.00 0.00 0.00 73.00 01:34:13 PM 2 3.00 0.00 1.00 0.00 0.00 96.00 01:34:13 PM 3 0.00 0.00 0.00 0.00 0.00 100.00
“-P 1″ zeigt an, dass es nur Statistiken für den 2. Kern anzeigen soll. (Beachten Sie, dass die Kernzahlen bei 0 beginnen).
$ sar -P 1 1 1 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:36:25 PM CPU %user %nice %system %iowait %steal %idle 01:36:26 PM 1 8.08 0.00 2.02 1.01 0.00 88.89
Im Folgenden einige Variationen:
- sar -P ALL Zeigt die CPU-Auslastung an, die nach allen Kernen für den aktuellen Tag aufgeschlüsselt ist.
- sar -P ALL 1 3 Zeigt die Echtzeit-CPU-Auslastung für ALLE Kerne alle 1 Sekunde für 3 Mal an (aufgeschlüsselt durch alle Kerne).
- sar -P 1 Zeigt die CPU-Auslastung für Kernnummer 1 für den aktuellen Tag an.
- sar -P 1 1 3 Zeigt Echtzeit-CPU-Auslastung für Kern Nummer 1, alle 1 Sekunde für 3 mal.
- sar -P ALL -f /var/log/sa/sa10 Zeigt die CPU-Auslastung nach allen Kernen für den 10-Tage-Tag des Monats aus der Sa10-Datei an.
3. Speicher frei und gebraucht (sar -r)
This reports the memory statistics. “1 3″ reports for every 1 second a total of 3 times. You’ll most likely want to focus on “kbmemfree” and “kbmemused” for free and used memory.
$ sar -r 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 07:28:06 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact 07:28:07 AM 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204 07:28:08 AM 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204 07:28:09 AM 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204 Average: 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204
Im Folgenden einige Variationen:
- sar -r
- sar -r 1 3
- sar -r -f /var/log/sa/sa10
4. Swap Space Used (sar -S)
Dies berichtet die Swap-Statistik. “1 3″ berichtet für jede 1 Sekunde insgesamt 3 Mal. Wenn die “kbswpused” und “%swpused” auf 0 sind, dann tauscht Ihr System nicht.
$ sar -S 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 07:31:06 AM kbswpfree kbswpused %swpused kbswpcad %swpcad 07:31:07 AM 8385920 0 0.00 0 0.00 07:31:08 AM 8385920 0 0.00 0 0.00 07:31:09 AM 8385920 0 0.00 0 0.00 Average: 8385920 0 0.00 0 0.00
Im Folgenden einige Variationen:
- sar -S
- sar -S 1 3
- sar -S -f /var/log/sa/sa10
Anmerkungen:
- Verwenden Sie “sar -R” um die Anzahl der Speicherseiten zu identifizieren, die vom System pro Sekunde freigegeben, verwendet und zwischengespeichert werden.
- Verwenden Sie “sar -H” um die verwendeten und verfügbaren Bigpages (in KB) zu identifizieren.
- Verwenden Sie “sar -B” um Paging-Statistiken zu generieren. d.h. Anzahl der KB, die pro Sekunde in (und aus) von der Festplatte gepaget werden.
- Verwenden Sie “sar -W” um Seiten-Swap-Statistiken zu generieren. Das heißt Page Swap in (und out) pro Sekunde.
5. Gesamt-I/O-Aktivität (sar -b)
Dies berichtet I / O-Statistiken. “1 3″ berichtet für jede 1 Sekunde insgesamt 3 Mal.
Folgende Felder werden im folgenden Beispiel angezeigt.
- tps – Transaktionen pro Sekunde (dies beinhaltet sowohl Lesen als auch Schreiben)
- rtps – Lesen Sie Transaktionen pro Sekunde
- wtps – Transaktionen pro Sekunde schreiben
- Brot/s – Bytes pro Sekunde lesen
- bwrtn/s – pro Sekunde geschriebene Bytes
$ sar -b 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:56:28 PM tps rtps wtps bread/s bwrtn/s 01:56:29 PM 346.00 264.00 82.00 2208.00 768.00 01:56:30 PM 100.00 36.00 64.00 304.00 816.00 01:56:31 PM 282.83 32.32 250.51 258.59 2537.37 Average: 242.81 111.04 131.77 925.75 1369.90
Im Folgenden einige Variationen:
- sar -b
- sar -b 1 3
- sar -b -f /var/log/sa/sa10
Anmerkung: Verwenden Sie “sar -v” um die Anzahl der Inode-Handler, Dateihandler und Pseudo-Terminals anzuzeigen, die vom System verwendet werden.
6. Einzelblock-E/A-Aktivität (sar-d)
Um die Aktivitäten der einzelnen Blockgeräte (d.h. einen bestimmten Mount Point oder LUN oder Partition) zu identifizieren, verwenden Sie “sar -d”
$ sar -d 1 1 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:59:45 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 01:59:46 PM dev8-0 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10 01:59:46 PM dev8-1 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10 01:59:46 PM dev120-64 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62 01:59:46 PM dev120-65 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62 01:59:46 PM dev120-0 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30 01:59:46 PM dev120-1 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30 01:59:46 PM dev120-96 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91 01:59:46 PM dev120-97 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91
Im obigen Beispiel zeigt “ DEV” ein bestimmtes Blockgerät an.
Zum Beispiel: “dev53-1″ bedeutet ein Blockgerät mit 53 als Hauptzahl und 1 als Nebenzahl.
Der Gerätename (DEV-Spalte) kann den tatsächlichen Gerätenamen anzeigen (z. B.: sda, sda1, sdb1 usw.), wenn Sie die Option -p (Pretty Print) wie unten gezeigt verwenden.
$ sar -p -d 1 1 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:59:45 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 01:59:46 PM sda 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10 01:59:46 PM sda1 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10 01:59:46 PM sdb1 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62 01:59:46 PM sdc1 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62 01:59:46 PM sde1 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30 01:59:46 PM sdf1 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30 01:59:46 PM sda2 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91 01:59:46 PM sdb2 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91
Im Folgenden sind einige Variationen:
- sar -d
- sar -d 1 3
- sar -d -f /var/log/sa/sa10
- sar -p -d
7. Kontextwechsel pro Sekunde anzeigen (sar -w)
Dies gibt die Gesamtzahl der pro Sekunde erstellten Prozesse und die Gesamtzahl der Kontextwechsel pro Sekunde an. “1 3″ berichtet für jede 1 Sekunde insgesamt 3 Mal.
$ sar -w 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 08:32:24 AM proc/s cswch/s 08:32:25 AM 3.00 53.00 08:32:26 AM 4.00 61.39 08:32:27 AM 2.00 57.00
Im Folgenden einige Variationen:
- sar -w
- sar -w 1 3
- sar -w -f /var/log/sa/sa10
8. Meldung von Durchlaufwarteschlange und Lastdurchschnitten (sar -q)
Dieser gibt die Größe und den Lastdurchschnitt der letzten 1 Minute, 5 Minuten und 15 Minuten an. “1 3″ berichtet für jede 1 Sekunde insgesamt 3 Mal.
$ sar -q 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 06:28:53 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 06:28:54 AM 0 230 2.00 3.00 5.00 0 06:28:55 AM 2 210 2.01 3.15 5.15 0 06:28:56 AM 2 230 2.12 3.12 5.12 0 Average: 3 230 3.12 3.12 5.12 0
Anmerkung: Die Spalte “blocked” zeigt die Anzahl der Aufgaben an, die derzeit blockiert sind und auf den Abschluss der E/A-Operation warten.
Im Folgenden einige Variationen:
- sar -q
- sar -q 1 3
- sar -q -f /var/log/sa/sa10
9. Netzstatistiken melden (sar -n)
Dieser berichtet über verschiedene Netzwerkstatistiken. Zum Beispiel: Anzahl der Pakete, die über die Netzwerkkarte empfangen (übertragen) wurden, Statistiken über Paketfehler usw.,. “1 3″ Berichte für jede 1 Sekunde insgesamt 3 Mal.
sar -n KEYWORD
Schlüsselwörter kann eine der folgenden sein:
- DEV – Zeigt wichtige Statistiken für Netzwerkgeräte für eth0, eth1 usw. an,
- EDEV – Anzeige von Netzwerkgerätefehlerstatistiken
- NFS – zeigt NFS-Client-Aktivitäten an
- NFSD – zeigt NFS-Serveraktivitäten an
- SOCK – Zeigt Sockets im Einsatz für IPv4 an
- IP – zeigt IPv4-Netzwerkverkehr an
- EIP – zeigt IPv4-Netzwerkfehler an
- ICMP – zeigt ICMPv4-Netzwerkverkehr an
- EICMP – zeigt ICMPv4-Netzwerkfehler an
- TCP – zeigt TCPv4-Netzwerkverkehr an
- ETCP – zeigt TCPv4-Netzwerkfehler an
- UDP – zeigt UDPv4-Netzwerkverkehr an
- SOCK6, IP6, EIP6, ICMP6, UDP6 sind für IPv6
- ALL &ndash Dies zeigt alle der oben genannten Informationen. Die Produktion wird sehr lang sein.
$ sar -n DEV 1 1 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:11:13 PM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s 01:11:14 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:11:14 PM eth0 342.57 342.57 93923.76 141773.27 0.00 0.00 0.00 01:11:14 PM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10. Sar-Daten mit Startzeit melden (sar -s)
When you view historical sar data from the /var/log/sa/saXX file using “sar -f” option, it displays all the sar data for that specific day starting from 12:00 a.m. for that day.
Mit “-s hh:mi:ss” Option können Sie die Startzeit angeben. Wenn Sie beispielsweise “sar -s 10:00:00″ angeben, werden die Sar-Daten ab 10 Uhr (anstatt ab Mitternacht) angezeigt, wie unten gezeigt.
Sie können die Option -s mit anderen Sar-Optionen kombinieren.
Um beispielsweise den Lastdurchschnitt am 26. dieses Monats ab 10 Uhr morgens zu melden, kombinieren Sie die Optionen -q und -s, wie unten gezeigt.
$ sar -q -f /var/log/sa/sa23 -s 10:00:01 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 10:00:01 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 10:10:01 AM 0 127 2.00 3.00 5.00 0 10:20:01 AM 0 127 2.00 3.00 5.00 0 ... 11:20:01 AM 0 127 5.00 3.00 3.00 0 12:00:01 PM 0 127 4.00 2.00 1.00 0
Es gibt keine Möglichkeit, die Endzeit zu begrenzen. Sie müssen nur kreativ werden und den Befehl head verwenden, wie unten gezeigt.
Wenn Sie beispielsweise ab 10 Uhr 7 Einträge sehen möchten, müssen Sie die obige Ausgabe an “head -n 10″ weiterleiten.
$ sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 10:00:01 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 10:10:01 AM 0 127 2.00 3.00 5.00 0 10:20:01 AM 0 127 2.00 3.00 5.00 0 10:30:01 AM 0 127 3.00 5.00 2.00 0 10:40:01 AM 0 127 4.00 2.00 1.00 2 10:50:01 AM 0 127 3.00 5.00 5.00 0 11:00:01 AM 0 127 2.00 1.00 6.00 0 11:10:01 AM 0 127 1.00 3.00 7.00 2
Es gibt noch viel mehr zu decken in Linux-Performance-Monitoring und Tuning. Wir fangen gerade erst an. Weitere Artikel kommen in der Performance-Serie.
Sagen Sie uns, was aufbleiben muss.
A short conversation with an engineer. No quote-bot, no callback queue. We'll tell you honestly if we're not the right fit.