GNU/Linux >> Znalost Linux >  >> Linux

Použijte sar k monitorování zdrojů v Linuxu

Tento článek představuje 10 způsobů, jak můžete použít příkaz System Activity Report (sar) ke sledování zdrojů v Linuxu.

1. Zobrazit společné využití všech CPU

Spuštěním následujícího příkazu zobrazíte souhrn využití procesoru:

sar -u

Tento příkaz vydává kumulativní využití zdrojů všech CPU v reálném čase.

K tomuto příkazu můžete přidat další parametry. Například přidání 1 3 na konci příkazu, jak je znázorněno v následujícím příkladu, hlásí celkem 3krát každou 1 sekundu:

sar -u 1 3

Výstup je podobný následujícímu příkladu:

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

Poslední pole, %idle , označuje zatížení CPU.

Příkaz má následující varianty:

  • sar -u :Zobrazuje využití procesoru pro aktuální den.
  • sar -u 1 3 :Zobrazuje využití procesoru v reálném čase každou 1 sekundu třikrát.
  • sar -u ALL :Stejné jako sar -u příkaz, ale zobrazí další pole.
  • sar -u ALL 1 3 :Stejné jako sar -u 1 3 příkaz, ale zobrazí další pole.
  • sar -u -f /var/log/sa/sa10 :Zobrazuje využití CPU pro desátý den v měsíci od sa10 soubor.

2. Zobrazení využití CPU podle CPU nebo jádra

Spuštěním následujícího příkazu zobrazíte využití CPU podle CPU nebo jádra:

sar -P ALL 1 1

-P ALL příznak označuje, že chcete zobrazit statistiky pro všechna jednotlivá jádra.

V CPU sloupec následujícího příkladu výstupu 0 , 1 , 2 a 3 jsou čísla jader CPU:

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

Pokud chcete zobrazit statistiky pouze pro druhé jádro, použijte -P 1 flag (protože čísla jádra začínají od 0), jak ukazuje následující příklad:

sar -P 1 1 1

Výstup vypadá jako následující příklad:

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

Mohou vám také pomoci následující varianty:

  • sar -P ALL :Zobrazuje využití procesoru pro každé jádro za aktuální den.
  • sar -P ALL 1 3 :Zobrazuje využití CPU každého jádra v reálném čase každou 1 sekundu po dobu 3.
  • sar -P 1 :Zobrazuje využití CPU pro jádro číslo 1 pro aktuální den.
  • sar -P 1 1 3 :Zobrazuje využití procesoru v reálném čase pro jádro číslo 1, každou 1 sekundu, třikrát.
  • sar -P ALL -f /var/log/sa/sa10 :Zobrazuje využití CPU pro každé jádro pro desátý den v měsíci od sa10 soubor.

3. Zobrazení volné a použité paměti

Spusťte následující příkaz pro zobrazení volné a použité paměti:

sar -r

Pokud přidáte 1 3 k příkazu, jak je znázorněno v následujícím příkladu, výstup hlásí každou 1 sekundu celkem 3krát:

sar -r 1 3

Výstup vypadá jako následující příklad, ve kterémkbmemfree je volná paměť a kbmemused je použitá paměť:

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

Tento příkaz má následující varianty:

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

4. Zobrazit využití odkládacího prostoru

Spuštěním následujícího příkazu zobrazíte velikost odkládacího prostoru, který se používá:

sar -S

Pokud přidáte 1 3 do konce příkazu, jak je znázorněno v následujícím příkladu, výstup hlásí každou 1 sekundu celkem 3krát:

sar -S 1 3

Výstup je podobný následujícímu příkladu:

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

Poznámka :Pokud je kbswpused a %swpused jsou na 0 , pak se váš systém nevyměňuje.

Tento příkaz má následující varianty:

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

Další příkazy swap space

Užitečné mohou být také následující příkazy swap space:

  • Použijte sar -R k identifikaci počtu stránek paměti, které systém uvolnil, použil a uložil do mezipaměti.
  • Použijte sar -H k identifikaci Linux® HugePages (v kilobajtech (KB)), které se používají a jsou k dispozici.
  • Použijte sar -B generovat statistiky stránkování, jako je počet KB odstránkovaných (a odchozích) z disku za sekundu.
  • Použijte sar -W ke generování statistik pro výměnu stránek, jako je výměna stránek za sekundu (a odchozí).

5. Zobrazení I/O aktivit

Spuštěním následujícího příkazu zobrazíte celkové vstupní a výstupní (I/O) aktivity:

sar -b

Výstup z tohoto příkazu zobrazí statistiku I/O. Pokud přidáte 1 3 do konce příkazu, jak je znázorněno v následujícím příkladu, výstup hlásí každou 1 sekundu celkem třikrát:

sar -b 1 3

Výstup vypadá jako následující příklad:

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

Výstup obsahuje následující pole:

  • tps :Transakce za sekundu (čtení i zápis)
  • rtps :Čtení transakcí za sekundu
  • wtps :Zapisování transakcí za sekundu
  • bread/s :Přečtené bajty za sekundu
  • bwrtn/s :Zapsané bajty za sekundu

Tento příkaz má následující varianty:

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

Poznámka :Použijte sar -v k zobrazení počtu obslužných rutin inodů, obslužných rutin souborů a pseudoterminálů, které systém používá.

6. Zobrazení I/O aktivit jednotlivých blokových zařízení

Spuštěním následujícího příkazu zobrazíte I/O aktivity jednotlivých blokových zařízení:

sar -d

Chcete-li identifikovat aktivity podle jednotlivých blokových zařízení (jako je konkrétní bod připojení, číslo logické jednotky (LUN) nebo oddíl), použijte sar -d , jak ukazuje následující příklad:

sar -d 1 1

Výstup vypadá jako následující příklad:

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

V tomto příkladu hodnoty v DEV představují konkrétní bloková zařízení. Například dev53-1 znamená blokové zařízení s 53 jako hlavním číslem a 1 jako vedlejším číslem.

Můžete použít pěkný tisk (-p ) příznak, jak je znázorněno v následujícím příkladu, aby se ve sloupci zobrazil skutečný název zařízení (například sda, sda1 nebo sdb1):

sar -p -d 1 1

Výstup vypadá jako následující příklad:

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

Tento příkaz má následující varianty:

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

7. Zobrazit přepínač kontextu za sekundu

Spusťte následující příkaz pro zobrazení přepínače kontextu za sekundu:

sar -w

Tento příkaz hlásí celkový počet procesů vytvořených za sekundu a celkový počet přepnutí kontextu za sekundu. Pokud přidáte 1 3 do konce příkazu, jak je znázorněno v následujícím příkladu, hlásí každou 1 sekundu celkem třikrát:

sar -w 1 3

Výstup je podobný následujícímu příkladu:

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

Tento příkaz má následující varianty:

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

8. Zobrazit frontu běhu a průměr zatížení

Spuštěním následujícího příkazu zobrazíte frontu běhu a průměr zatížení:

sar -q

Tento příkaz hlásí velikost fronty běhu a průměr zatížení za poslední minutu, za posledních 5 minut a za posledních 15 minut. Pokud přidáte 1 3 do konce příkazu, jak je znázorněno v následujícím příkladu, hlásí každou 1 sekundu celkem 3krát:

sar -q 1 3

Výstup vypadá jako následující příklad:

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

Poznámka :blocked sloupec zobrazuje počet úloh, které jsou aktuálně blokovány a čekají na dokončení I/O operací.

Tento příkaz má následující varianty:

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

9. Zobrazit statistiky sítě

Spusťte následující příkaz pro zobrazení statistik sítě:

sar -n

Tento příkaz hlásí různé síťové statistiky, jako je počet paketů přijatých (vyslaných) přes síťovou kartu nebo počet selhání paketů, ke kterým došlo. Pokud přidáte 1 3 do konce příkazu hlásí každou 1 sekundu celkem 3x.

K příkazu můžete také přidat klíčové slovo, jak ukazuje následující příklad:

sar -n KEYWORD

KEYWORD může být jedna z následujících možností:

  • DEV :Zobrazuje důležité statistiky pro síťová zařízení
  • EDEV :Zobrazení statistik selhání pro síťová zařízení
  • NFS :Zobrazuje aktivity klienta Network File System (NFS)
  • NFSD :Zobrazí aktivity serveru NFS
  • SOCK :Zobrazí zásuvky, které se používají pro IPv4
  • IP :Zobrazuje síťový provoz IPv4
  • EIP :Zobrazí chyby sítě IPv4
  • ICMP :Zobrazuje síťový provoz ICMPv4
  • EICMP :Zobrazí chyby sítě ICMPv4
  • TCP :Zobrazí síťový provoz TCPv4
  • ETCP :Zobrazí chyby sítě TCPv4
  • UDP :Zobrazuje síťový provoz UDPv4
  • SOCK6 , IP6 , EIP6 , ICMP6 a UDP6 :Zobrazí informace o síti IPv6
  • ALL :Zobrazí všechny předchozí informace

Následující příklad používá DEV klíčové slovo:

sar -n DEV 1 1

Výstup vypadá jako následující příklad:

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. Hlásit data sar podle času zahájení

Spusťte následující příkaz pro nahlášení dat sar podle času zahájení:

sar -s

Když si prohlížíte historická data sar z /var/log/sa/saXX pomocí sar -f možnost, výstup zobrazí všechna data sar pro daný den počínaje 00:00

Můžete použít -s hh:mi:ss možnost zadat čas zahájení. Pokud například zadáte sar -s 10:00:00 , výstup příkazu zobrazí sardata začínající v 10:00 (místo výchozí půlnoci).

Můžete kombinovat -s vlajka s jinými sar vlajkami. Chcete-li například nahlásit průměrnou zátěž 26. dne aktuálního měsíce počínaje 10:00, zkombinujte -q a -s příznaky, jak je znázorněno v následujícím příkladu:

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

Výstup vypadá jako následující příklad:

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

Nemůžete určit čas ukončení. Místo toho musíte použít head příkaz. Chcete-li například začít od 10:00 a zobrazit 7 záznamů, přepojte předchozí výstup na head -n 10 , jak ukazuje následující příklad:

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

Výstup vypadá jako následující příklad:

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. Linux – Jak používat tři monitory na notebooku?

  2. Linux – použití O_direct na Linuxu?

  3. Jak používat auditd ke sledování mazání souborů v Linuxu

  1. Jak používat BusyBox na Linuxu

  2. 5 důvodů, proč používat Linux v roce 2020

  3. Použijte knihovnu C ve Swift na Linuxu

  1. Jak používám cron v Linuxu

  2. Jak používat FIND v Linuxu

  3. Jak používat Su Command v Linuxu