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.


← Alle Knowledgebase Artikel

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.