Wissensdatenbank · Server Dedicated & VPS
So überwachen Sie Serverressourcen mit sar (Linux)
Zuletzt aktualisiert am 2025-06-16
10 Anwendungen von SAR
1. CPU-Auslastung 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
Nachfolgend einige Varianten:
- sar -u Zeigt die bis zu diesem Zeitpunkt erfasste CPU-Auslastung des aktuellen Tages an.
- sar -u 1 3 Zeigt die Echtzeit-CPU-Auslastung im Abstand von 1 Sekunde, insgesamt 3 Mal, an.
- sar -u ALL Wie “sar -u”, zeigt jedoch zusätzliche Felder an.
- sar -u ALL 1 3 Wie “sar -u 1 3″, zeigt jedoch zusätzliche Felder an.
- sar -u -f /var/log/sa/sa10 Zeigt die CPU-Auslastung für den 10. Tag des Monats aus der Datei sa10 an.
2. CPU-Auslastung einzelner CPUs bzw. Kerne (sar -P)
Wenn Ihr Server 4 Kerne hat und Sie sehen möchten, was die einzelnen Kerne jeweils tun, gehen Sie wie folgt vor.
“-P ALL” bewirkt, dass die Statistiken für ALLE einzelnen Kerne angezeigt werden.
Im folgenden Beispiel kennzeichnen die Zahlen 0, 1, 2 und 3 in der Spalte “CPU” die jeweiligen CPU-Kernnummern.
$ 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″ bewirkt, dass die Statistiken nur für den 2. Kern angezeigt werden. (Beachten Sie, dass die Nummerierung der Kerne bei 0 beginnt.)
$ 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
Nachfolgend einige Varianten:
- sar -P ALL Zeigt die CPU-Auslastung des aktuellen Tages, aufgeschlüsselt nach allen Kernen, an.
- sar -P ALL 1 3 Zeigt die Echtzeit-CPU-Auslastung für ALLE Kerne im Abstand von 1 Sekunde, insgesamt 3 Mal, an (aufgeschlüsselt nach allen Kernen).
- sar -P 1 Zeigt die CPU-Auslastung für Kern Nummer 1 für den aktuellen Tag an.
- sar -P 1 1 3 Zeigt die Echtzeit-CPU-Auslastung für Kern Nummer 1 an, im Abstand von 1 Sekunde, insgesamt 3 Mal.
- sar -P ALL -f /var/log/sa/sa10 Zeigt die CPU-Auslastung aufgeschlüsselt nach allen Kernen für den 10. Tag des Monats aus der Datei sa10 an.
3. Freier und belegter Arbeitsspeicher (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
Nachfolgend einige Varianten:
- sar -r
- sar -r 1 3
- sar -r -f /var/log/sa/sa10
4. Belegter Swap-Speicher (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
Nachfolgend einige Varianten:
- sar -S
- sar -S 1 3
- sar -S -f /var/log/sa/sa10
Hinweise:
- Verwenden Sie “sar -R”, um die Anzahl der vom System pro Sekunde freigegebenen, belegten und zwischengespeicherten Speicherseiten zu ermitteln.
- Verwenden Sie “sar -H”, um die belegten und verfügbaren Hugepages (in KB) zu ermitteln.
- Verwenden Sie “sar -B”, um Paging-Statistiken zu erzeugen, also die Anzahl der KB, die pro Sekunde von der Festplatte eingelagert (und ausgelagert) werden.
- Verwenden Sie “sar -W”, um Statistiken zum Seiten-Swapping zu erzeugen, also das Ein- und Auslagern von Seiten pro Sekunde.
5. Gesamte I/O-Aktivität (sar -b)
Dieser Befehl gibt E/A-Statistiken aus. “1 3″ gibt jede 1 Sekunde insgesamt 3 Mal einen Bericht aus.
Im folgenden Beispiel werden diese Felder angezeigt.
- tps – Transaktionen pro Sekunde (einschließlich Lese- und Schreibzugriffen)
- rtps – Lesetransaktionen pro Sekunde
- wtps – Schreibtransaktionen pro Sekunde
- bread/s – Gelesene Bytes pro Sekunde
- bwrtn/s – Geschriebene Bytes pro Sekunde
$ 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
Nachfolgend einige Varianten:
- sar -b
- sar -b 1 3
- sar -b -f /var/log/sa/sa10
Hinweis: Verwenden Sie “sar -v”, um die Anzahl der vom System genutzten Inode-Handler, Datei-Handler und Pseudoterminals anzuzeigen.
6. I/O-Aktivität einzelner Blockgeräte (sar -d)
Um die Aktivität einzelner Blockgeräte (z. B. eines bestimmten Mountpoints, einer LUN oder einer Partition) zu ermitteln, 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 kennzeichnet “DEV” ein bestimmtes Blockgerät.
Beispiel: “dev53-1″ steht für ein Blockgerät mit 53 als Major-Nummer und 1 als Minor-Nummer.
Die Gerätebezeichnung (Spalte DEV) kann den tatsächlichen Gerätenamen anzeigen (zum Beispiel: sda, sda1, sdb1 usw.), wenn Sie die Option -p (Pretty Print) verwenden, wie unten gezeigt.
$ 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
Nachfolgend einige Varianten:
- sar -d
- sar -d 1 3
- sar -d -f /var/log/sa/sa10
- sar -p -d
7. Kontextwechsel pro Sekunde anzeigen (sar -w)
Hier werden die Gesamtzahl der pro Sekunde erstellten Prozesse und die Gesamtzahl der Kontextwechsel pro Sekunde angezeigt. “1 3″ gibt jede 1 Sekunde insgesamt 3 Mal einen Bericht aus.
$ 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
Nachfolgend einige Varianten:
- sar -w
- sar -w 1 3
- sar -w -f /var/log/sa/sa10
8. Run-Queue und durchschnittliche Systemlast ausgeben (sar -q)
Dies gibt die Größe der Run-Queue und die durchschnittliche Systemlast (Load Average) für die letzte 1 Minute, 5 Minuten und 15 Minuten aus. “1 3″ gibt im Abstand von 1 Sekunde insgesamt 3 Mal einen Bericht aus.
$ 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
Hinweis: Die Spalte “blocked” zeigt die Anzahl der Tasks an, die derzeit blockiert sind und auf den Abschluss einer I/O-Operation warten.
Nachfolgend einige Varianten:
- sar -q
- sar -q 1 3
- sar -q -f /var/log/sa/sa10
9. Netzwerkstatistiken ausgeben (sar -n)
Dieser Befehl zeigt verschiedene Netzwerkstatistiken an, zum Beispiel die Anzahl der über die Netzwerkkarte empfangenen (gesendeten) Pakete oder Statistiken zu fehlgeschlagenen Paketen usw. “1 3″ gibt im Abstand von 1 Sekunde insgesamt 3 Berichte aus.
sar -n KEYWORD
Schlüsselwörter kann einer der folgenden Werte sein:
- DEV – Zeigt wichtige Statistiken der Netzwerkgeräte wie eth0, eth1 usw. an,
- EDEV – Zeigt Fehlerstatistiken der Netzwerkgeräte an
- NFS – Zeigt die Aktivitäten des NFS-Clients an
- NFSD – Zeigt die Aktivitäten des NFS-Servers an
- SOCK – Zeigt die verwendeten Sockets für IPv4 an
- IP – Zeigt den IPv4-Netzwerkverkehr an
- EIP – Zeigt IPv4-Netzwerkfehler an
- ICMP – Zeigt den ICMPv4-Netzwerkverkehr an
- EICMP – Zeigt ICMPv4-Netzwerkfehler an
- TCP – Zeigt den TCPv4-Netzwerkverkehr an
- ETCP – Zeigt TCPv4-Netzwerkfehler an
- UDP – Zeigt den UDPv4-Netzwerkverkehr an
- SOCK6, IP6, EIP6, ICMP6 und UDP6 gelten für IPv6
- ALL – Zeigt alle oben genannten Informationen an. Die Ausgabe ist sehr lang.
$ 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 ab einer bestimmten Startzeit ausgeben (sar -s)
Wenn Sie historische Sar-Daten aus der Datei /var/log/sa/saXX mit der Option “sar -f” anzeigen, werden alle Sar-Daten für diesen bestimmten Tag ab 12:00 Uhr für diesen Tag angezeigt.
Mit der Option “-s hh:mi:ss” können Sie die Startzeit angeben. Wenn Sie beispielsweise “sar -s 10:00:00″ eingeben, werden die sar-Daten ab 10 Uhr (statt ab Mitternacht) angezeigt, wie unten dargestellt.
Sie können die Option -s mit anderen sar-Optionen kombinieren.
Um beispielsweise die durchschnittliche Systemlast (Load Average) für den 26. dieses Monats ab 10 Uhr morgens auszugeben, 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 Option, um die Endzeit zu begrenzen. Sie müssen sich hier mit einem Trick behelfen und den Befehl head wie unten gezeigt verwenden.
Wenn Sie beispielsweise ab 10 Uhr 7 Einträge sehen möchten, müssen Sie die obige Ausgabe an “head -n 10″ weiterleiten (Pipe).
$ 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
Zur Leistungsüberwachung und -optimierung unter Linux gibt es noch viel mehr zu sagen. Wir stehen erst am Anfang. Weitere Artikel der Reihe zur Performance folgen.
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.