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 wiesar -uBefehl, zeigt aber zusätzliche Felder an.sar -u ALL 1 3:Dasselbe wiesar -u 1 3Befehl, zeigt aber zusätzliche Felder an.sar -u -f /var/log/sa/sa10:Zeigt die CPU-Auslastung für den zehnten Tag des Monats absa10an 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 absa10an 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 -rsar -r 1 3sar -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 -Ssar -S 1 3sar -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 -Rum die Anzahl der Speicherseiten zu identifizieren, die das System freigegeben, verwendet und zwischengespeichert hat. - Verwenden Sie
sar -Hum die verwendeten und verfügbaren Linux® HugePages (in Kilobyte (KB)) zu identifizieren. - Verwenden Sie
sar -Bzum Generieren von Paging-Statistiken, wie z. B. die Anzahl der KB, die pro Sekunde von der Festplatte ein- (und ausgelagert) werden. - Verwenden Sie
sar -Wzum 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 lesenwtps:Transaktionen pro Sekunde schreibenbread/s:Gelesene Bytes pro Sekundebwrtn/s:Geschriebene Bytes pro Sekunde
Dieser Befehl hat die folgenden Variationen:
sar -bsar -b 1 3sar -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 -dsar -d 1 3sar -d -f /var/log/sa/sa10sar -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 -wsar -w 1 3sar -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 -qsar -q 1 3sar -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 anEDEV:Ausfallstatistiken für Netzwerkgeräte anzeigenNFS:Zeigt Aktivitäten des Network File System (NFS)-Clients anNFSD:Zeigt NFS-Serveraktivitäten anSOCK:Zeigt die Sockets an, die für IPv4 verwendet werdenIP:Zeigt den IPv4-Netzwerkverkehr anEIP:Zeigt IPv4-Netzwerkfehler anICMP:Zeigt den ICMPv4-Netzwerkverkehr anEICMP:Zeigt ICMPv4-Netzwerkfehler anTCP:Zeigt den TCPv4-Netzwerkverkehr anETCP:Zeigt TCPv4-Netzwerkfehler anUDP:Zeigt den UDPv4-Netzwerkverkehr anSOCK6,IP6,EIP6,ICMP6undUDP6:Zeigt IPv6-Netzwerkinformationen anALL: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
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