GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden Sie sar, um Ressourcen in Linux zu überwachen

Dieser Artikel stellt 10 Möglichkeiten vor, wie Sie den Befehl System Activity Report (sar) verwenden können, um Ressourcen in Linux® zu überwachen.

1. Anzeige der Gesamtauslastung aller CPUs

Führen Sie den folgenden Befehl aus, um eine Zusammenfassung der CPU-Auslastung anzuzeigen:

sar -u

Dieser Befehl gibt die kumulative Echtzeit-Ressourcennutzung aller CPUs aus.

Sie können diesem Befehl weitere Parameter hinzufügen. Beispiel:Hinzufügen von 1 3 am Ende des Befehls, wie in den folgenden Beispielen gezeigt, für alle 1 Sekunde insgesamt 3 Mal:

sar -u 1 3

Die Ausgabe ähnelt dem folgenden Beispiel:

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

Das letzte Feld, %idle , gibt die CPU-Last an.

Der Befehl hat die folgenden Variationen:

  • sar -u :Zeigt die CPU-Auslastung für den aktuellen Tag an.
  • sar -u 1 3 :Zeigt dreimal alle 1 Sekunde die Echtzeit-CPU-Auslastung an.
  • sar -u ALL :Dasselbe wie sar -u Befehl, zeigt aber zusätzliche Felder an.
  • sar -u ALL 1 3 :Dasselbe wie sar -u 1 3 Befehl, zeigt aber zusätzliche Felder an.
  • sar -u -f /var/log/sa/sa10 :Zeigt die CPU-Auslastung für den zehnten Tag des Monats ab sa10 an Datei.

2. CPU-Auslastung nach CPU oder Kern anzeigen

Führen Sie den folgenden Befehl aus, um die CPU-Auslastung nach CPU oder Kern anzuzeigen:

sar -P ALL 1 1

Der -P ALL Flag gibt an, dass Sie Statistiken für alle einzelnen Kerne anzeigen möchten.

In der CPU Spalte der folgenden Beispielausgabe, 0 , 1 , 2 , und 3 sind CPU-Kernnummern:

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

Wenn Sie Statistiken nur für den zweiten Kern anzeigen möchten, verwenden Sie -P 1 Flag (da Kernnummern bei 0 beginnen), wie im folgenden Beispiel gezeigt:

sar -P 1 1 1

Die Ausgabe sieht wie im folgenden Beispiel aus:

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

Möglicherweise finden Sie auch die folgenden Variationen hilfreich:

  • sar -P ALL :Zeigt die CPU-Auslastung für jeden Kern für den aktuellen Tag an.
  • sar -P ALL 1 3 :Zeigt die Echtzeit-CPU-Auslastung jedes Kerns alle 1 Sekunde dreimal an.
  • 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 alle 1 Sekunde für 3 Mal an.
  • sar -P ALL -f /var/log/sa/sa10 :Zeigt die CPU-Nutzung für jeden Kern für den zehnten Tag des Monats ab sa10 an Datei.

3. Freien und belegten Speicher anzeigen

Führen Sie den folgenden Befehl aus, um freien und belegten Speicher anzuzeigen:

sar -r

Wenn Sie 1 3 hinzufügen zu dem Befehl, wie im folgenden Beispiel gezeigt, meldet die Ausgabe alle 1 Sekunde insgesamt 3 Mal:

sar -r 1 3

Die Ausgabe sieht wie im folgenden Beispiel aus, in dem kbmemfree ist freier Speicher und kbmemused verwendeter Speicher:

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

Dieser Befehl hat die folgenden Variationen:

  • sar -r
  • sar -r 1 3
  • sar -r -f /var/log/sa/sa10

4. Auslagerungsspeichernutzung anzeigen

Führen Sie den folgenden Befehl aus, um den verwendeten Auslagerungsspeicher anzuzeigen:

sar -S

Wenn Sie 1 3 hinzufügen bis zum Ende des Befehls, wie im folgenden Beispiel gezeigt, meldet die Ausgabe alle 1 Sekunde insgesamt 3 Mal:

sar -S 1 3

Die Ausgabe ähnelt dem folgenden Beispiel:

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

Hinweis :Wenn der kbswpused und %swpused sind bei 0 , dann tauscht Ihr System nicht aus.

Dieser Befehl hat die folgenden Variationen:

  • sar -S
  • sar -S 1 3
  • sar -S -f /var/log/sa/sa10

Zusätzliche Swap-Space-Befehle

Möglicherweise finden Sie auch die folgenden Swap-Space-Befehle hilfreich:

  • Verwenden Sie sar -R um die Anzahl der Speicherseiten zu identifizieren, die das System freigegeben, verwendet und zwischengespeichert hat.
  • Verwenden Sie sar -H um die verwendeten und verfügbaren Linux® HugePages (in Kilobyte (KB)) zu identifizieren.
  • Verwenden Sie sar -B zum Generieren von Paging-Statistiken, wie z. B. die Anzahl der KB, die pro Sekunde von der Festplatte ein- (und ausgelagert) werden.
  • Verwenden Sie sar -W zum Generieren von Seitenwechselstatistiken, wie z. B. Seitenwechsel pro Sekunde.

5. E/A-Aktivitäten anzeigen

Führen Sie den folgenden Befehl aus, um die gesamten Eingabe- und Ausgabeaktivitäten (E/A) anzuzeigen:

sar -b

Die Ausgabe dieses Befehls zeigt E/A-Statistiken an. Wenn Sie 1 3 hinzufügen bis zum Ende des Befehls, wie im folgenden Beispiel gezeigt, meldet die Ausgabe alle 1 Sekunde insgesamt 3 Mal:

sar -b 1 3

Die Ausgabe sieht wie im folgenden Beispiel aus:

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

Die Ausgabe enthält die folgenden Felder:

  • tps :Transaktionen pro Sekunde (Lesen und Schreiben)
  • rtps :Transaktionen pro Sekunde lesen
  • wtps :Transaktionen pro Sekunde schreiben
  • bread/s :Gelesene Bytes pro Sekunde
  • bwrtn/s :Geschriebene Bytes pro Sekunde

Dieser Befehl hat die folgenden Variationen:

  • sar -b
  • sar -b 1 3
  • sar -b -f /var/log/sa/sa10

Hinweis :Verwenden Sie sar -v um die Anzahl der Inode-Handler, Datei-Handler und Pseudo-Terminals anzuzeigen, die das System verwendet.

6. Anzeige der E/A-Aktivitäten einzelner Blockgeräte

Führen Sie den folgenden Befehl aus, um die E/A-Aktivitäten einzelner Blockgeräte anzuzeigen:

sar -d

Verwenden Sie sar -d, um Aktivitäten nach einzelnen Blockgeräten (z. B. einem bestimmten Einhängepunkt, einer logischen Einheitsnummer (LUN) oder einer Partition) zu identifizieren , wie im folgenden Beispiel gezeigt:

sar -d 1 1

Die Ausgabe sieht wie im folgenden Beispiel aus:

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

In diesem Beispiel sind die Werte in DEV Spalte stellen bestimmte Blockgeräte dar. Beispiel:dev53-1 bedeutet ein Blockgerät mit 53 als Major-Nummer und 1 als Minor-Nummer.

Sie können den hübschen Druck verwenden (-p ) wie im folgenden Beispiel gezeigt, damit die Spalte den tatsächlichen Gerätenamen anzeigt (z. B. sda, sda1 oder sdb1):

sar -p -d 1 1

Die Ausgabe sieht wie im folgenden Beispiel aus:

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

Dieser Befehl hat die folgenden Variationen:

  • sar -d
  • sar -d 1 3
  • sar -d -f /var/log/sa/sa10
  • sar -p -d

7. Anzeige des Kontextwechsels pro Sekunde

Führen Sie den folgenden Befehl aus, um den Kontextwechsel pro Sekunde anzuzeigen:

sar -w

Dieser Befehl meldet die Gesamtzahl der pro Sekunde erstellten Prozesse und die Gesamtzahl der Kontextwechsel pro Sekunde. Wenn Sie 1 3 hinzufügen bis zum Ende des Befehls, wie im folgenden Beispiel gezeigt, meldet er alle 1 Sekunde insgesamt 3 Mal:

sar -w 1 3

Die Ausgabe ähnelt dem folgenden Beispiel:

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

Dieser Befehl hat die folgenden Variationen:

  • sar -w
  • sar -w 1 3
  • sar -w -f /var/log/sa/sa10

8. Zeigen Sie die Ausführungswarteschlange und den Lastdurchschnitt an

Führen Sie den folgenden Befehl aus, um die Ausführungswarteschlange und den Lastdurchschnitt anzuzeigen:

sar -q

Dieser Befehl meldet die Größe der Ausführungswarteschlange und den Lastdurchschnitt für die letzte Minute, die letzten 5 Minuten und die letzten 15 Minuten. Wenn Sie 1 3 hinzufügen bis zum Ende des Befehls, wie im folgenden Beispiel gezeigt, meldet er alle 1 Sekunde insgesamt 3 Mal:

sar -q 1 3

Die Ausgabe sieht wie im folgenden Beispiel aus:

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 :Der blocked -Spalte zeigt die Anzahl der Tasks an, die derzeit blockiert sind und auf den Abschluss von E/A-Vorgängen warten.

Dieser Befehl hat die folgenden Variationen:

  • sar -q
  • sar -q 1 3
  • sar -q -f /var/log/sa/sa10

9. Netzwerkstatistiken anzeigen

Führen Sie den folgenden Befehl aus, um Netzwerkstatistiken anzuzeigen:

sar -n

Dieser Befehl meldet verschiedene Netzwerkstatistiken, wie z. B. die Anzahl der über die Netzwerkkarte empfangenen (gesendeten) Pakete oder die Anzahl der aufgetretenen Paketfehler. Wenn Sie 1 3 hinzufügen bis zum Ende des Befehls wird insgesamt 3 Mal alle 1 Sekunde gemeldet.

Sie können dem Befehl auch ein Schlüsselwort hinzufügen, wie im folgenden Beispiel gezeigt:

sar -n KEYWORD

KEYWORD kann eine der folgenden Optionen sein:

  • DEV :Zeigt wichtige Statistiken für Netzwerkgeräte an
  • EDEV :Ausfallstatistiken für Netzwerkgeräte anzeigen
  • NFS :Zeigt Aktivitäten des Network File System (NFS)-Clients an
  • NFSD :Zeigt NFS-Serveraktivitäten an
  • SOCK :Zeigt die Sockets an, die für IPv4 verwendet werden
  • 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 :Zeigt IPv6-Netzwerkinformationen an
  • ALL :Zeigt alle vorangehenden Informationen an

Das folgende Beispiel verwendet DEV Stichwort:

sar -n DEV 1 1

Die Ausgabe sieht wie im folgenden Beispiel aus:

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 nach Startzeit melden

Führen Sie den folgenden Befehl aus, um sar-Daten nach Startzeit zu melden:

sar -s

Wenn Sie historische SAR-Daten von /var/log/sa/saXX anzeigen Datei mit sar -f Option zeigt die Ausgabe alle SAR-Daten für diesen bestimmten Tag beginnend um 00:00 Uhr

an

Sie können den -s hh:mi:ss verwenden Option zum Festlegen der Startzeit. Wenn Sie beispielsweise sar -s 10:00:00 angeben , zeigt die Ausgabe des Befehls die Sardata beginnend um 10:00 Uhr an (anstelle der Standardeinstellung Mitternacht).

Sie können die -s kombinieren Flagge mit anderen sar-Flaggen. Um beispielsweise den Auslastungsdurchschnitt am 26. des aktuellen Monats ab 10 Uhr zu melden, kombinieren Sie -q und -s Flags, wie im folgenden Beispiel gezeigt:

sar -q -f /var/log/sa/sa23 -s 10:00:01

Die Ausgabe sieht wie im folgenden Beispiel aus:

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

Sie können keine Endzeit angeben. Stattdessen müssen Sie den head verwenden Befehl. Wenn Sie beispielsweise bei 10 Uhr morgens beginnen und 7 Einträge sehen möchten, leiten Sie die vorangehende Ausgabe an head -n 10 weiter , wie im folgenden Beispiel gezeigt:

sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10

Die Ausgabe sieht wie im folgenden Beispiel aus:

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

Linux
  1. So verwenden Sie BusyBox unter Linux

  2. 5 Gründe, Linux im Jahr 2020 zu verwenden

  3. Linux – Verwendung von O_direct unter Linux?

  4. Es ist möglich, eine .dll unter Linux zu verwenden

  5. Verwenden Sie eine C-Bibliothek in Swift unter Linux

Verwenden Sie Emojis im Mac-Stil unter Linux

So verwenden Sie pkgsrc unter Linux

So verwenden Sie htop zum Überwachen von Linux-Systemprozessen

Überwachen Sie Systemressourcen mit Bashtop und Bpytop unter Linux

So installieren und verwenden Sie den SAR-Befehl (zur Überwachung der Systemleistung) unter Linux

sar-Befehlsbeispiele unter Linux