GNU/Linux >> Znalost Linux >  >> Linux

10 Příkaz Linux iostat pro hlášení statistik CPU a I/O

Iostat je součástí sysstat balík. Iostat je standardně nainstalován ve většině distribucí Linuxu.

Pokud jej nemáte, musíte jej nejprve nainstalovat.

Na RedHat / CentOS / Fedora

$ yum install sysstat

V systému Debian / Ubuntu / Linux Mint

$ apt-get install sysstat

Když je příkaz spuštěn bez argumentů, vygeneruje podrobnou zprávu obsahující informace od zavedení systému . Chcete-li to změnit, můžete zadat dva volitelné parametry:

iostat [option] [interval] [count]
  • interval parametr určuje dobu v sekundách mezi jednotlivými zprávami
  • Počet umožňuje zadat počet zpráv, které se vygenerují před ukončením programu iostat.

Když je příkaz spuštěn poprvé s těmito argumenty, první zpráva obsahuje informace od spuštění systému, zatímco každá následující zpráva pokrývá časové období od vygenerování posledního přehledu.

$ iostat 2 3
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.65    0.00    0.18    0.02    0.00   99.15

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.88         4.29         7.07     217829     358600

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.01    0.00    0.50    0.00    0.00   98.49

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.50         0.00         2.01          0          4

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.00    0.00    0.50    0.00    0.00   96.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         0.00        30.00          0         60

1. Získejte přehled a statistiky

iostat ve výchozím nastavení bez možnosti zobrazit statistickou zprávu sestávající z CPU a zařízení.

$ iostat

Výstup:

Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/22/2017 	_x86_64   (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.69    0.00    0.19    0.02    0.04   99.08

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         3.40        14.08    1552428    6423128

První část obsahuje sestavu CPU

  • %user : procento využití CPU, ke kterému došlo při provádění na úrovni uživatele (aplikace)
  • % pěkné : procento využití CPU, ke kterému došlo při provádění na uživatelské úrovni s pěknou prioritou
  • %systém: procento využití CPU, ke kterému došlo při spouštění na úrovni systému (kernelu)
  • %iowait : procento času, kdy byly CPU nebo CPU nečinné, během kterých měl systém nevyřízený požadavek na diskový vstup/výstup
  • %ukrást : procento času stráveného nedobrovolným čekáním virtuálním CPU nebo CPU, zatímco hypervizor obsluhoval jiný virtuální procesor
  • %idle : procento času, kdy byly CPU nebo CPU nečinné a systém neměl nevyřízený požadavek na diskový vstup/výstup

Druhá část obsahuje zprávu o využití zařízení

  • Zařízení: název zařízení/oddílu uvedený v /dev adresář
  • tps : počet přenosů za sekundu, které byly vydány do zařízení. Vyšší tps znamená, že procesor je vytíženější
  • Blk_read/s : zobrazit množství dat přečtených ze zařízení vyjádřené v počtu bloků (kilobajty, megabajty) za sekundu
  • Blk_wrtn/s : množství dat zapsaných do zařízení vyjádřené v počtu bloků (kilobajty, megabajty) za sekundu
  • Blk_read : zobrazit celkový počet přečtených bloků
  • Blk_wrtn : zobrazit celkový počet zapsaných bloků

iostat používá k vytváření přehledů následující soubory:

  • /proc/stat obsahuje systémové statistiky.
  • /proc/uptime obsahuje dobu provozuschopnosti systému.
  • /proc/diskstats obsahuje statistiky disků.
  • /sys obsahuje statistiky pro bloková zařízení.
  • /proc/self/mountstats obsahuje statistiky pro síťové systémy souborů.
  • /dev/disk obsahuje trvalé názvy zařízení.

2. Zobrazit další podrobnosti statistiky

Příkaz Iostat poskytuje informace o využití I/O zařízení. Pomocí volby -x je možné rozšířit výsledek statistiky pro hloubkovou diagnostiku .

$ iostat -x

Výstup:

Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.69    0.00    0.19    0.02    0.04   99.06

Device: rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda     0.01     1.10    0.16    0.84     3.37    14.04    34.88     0.00    2.35    1.41    2.53   0.40   0.04
  • avg-cpu: je to informace o bloku cpu
  • Rozdělit: je to informace o bloku zařízení. Abyste si byli jisti, že jste na správném zařízení
  • %util :kolik času mělo úložné zařízení nevyřízenou práci (bylo zaneprázdněné).
  • svctm :označte, jak rychle váš I/O subsystém celkově odpovídá na požadavky, když je zaneprázdněn. Ve skutečnosti, čím méně zatěžujete svůj systém, tím vyšší je svctm.
  • čekat :udává, jak rychle požadavky procházejí. Je to jen průměr.
  • avgqu-sz :kolik požadavků je ve frontě požadavků. Nízká =váš systém buď není načten, nebo má serializované I/O a nemůže správně využívat základní úložiště. Vysoká =váš softwarový zásobník je dostatečně škálovatelný, aby správně načetl základní I/O.
  • avgrq-sz :Pouze průměrná velikost požadavku. může naznačovat, k jakému druhu pracovní zátěže dochází.
  • wsec/s &rsec/s :Přečtené a zapsané sektory za sekundu. Vydělte 2048 a získáte megabajty za sekundu.
  • r/s &w/s :Čtení a zápis požadavků za sekundu. Tato čísla jsou čísla I/O kapacity, i když se samozřejmě mohou lišit v závislosti na tom, jak velký tlak na I/O subsystém působí (velikost fronty!).
  • rrqm/s &wrqm/s :Kolik požadavků bylo sloučeno podle blokové vrstvy.

3. Zobrazit pouze statistiku procesoru

Je možné zobrazit statistické informace a report našeho CPU pomocí -c možnost

$ iostat -c

Výstup:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.93    0.08    2.40    3.35    0.00   81.24

4. Zobrazit pouze sestavu zařízení

Stav využití zařízení je možné zobrazit pouze pomocí -d volba. Zobrazí seznam informací pro každé připojené zařízení.

$ iostat -d

Výstup:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              17.73       510.80       632.10    5127420    6345037
mmcblk0           0.03         0.63         0.00       6282          0

5. Zobrazit rozšířenou statistiku I/O pouze pro zařízení

Na jedné straně můžeme zobrazit rozšířenou statistiku a na druhé straně můžeme zobrazit rozšířenou statistiku. To znamená, že můžeme zobrazit rozšířenou statistiku pouze pro zařízení s volbou -xd .

$ iostat -xd

Výstup:

$ iostat -xd
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.48    25.33    8.43    7.81   417.06   540.42   117.88     1.18   72.83   35.98  112.62   6.18  10.03
mmcblk0           0.30     0.00    0.02    0.00     0.49     0.00    49.47     0.00    3.73    3.73    4.00   2.99   0.01

6. Zachyťte statistiky v kilobajtech nebo megabajtech

Ve výchozím nastavení měří iostat I/O systém pomocí jednotek bajtů. Pro snazší čtení můžeme převést iostat tak, aby nám zobrazoval zprávy v kilobajtech nebo megabajtech.

Stačí přidat možnost -k k vytváření sestav s jednotkami kilobajtů.

$ iostat -k

Výstup:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.54    0.08    2.37    3.41    0.00   81.61

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              16.18       345.76       504.55    5622164    8204113
mmcblk0           0.02         0.39         0.00       6282          0

Možnost -m k vytváření sestav s jednotkou megabajtů.

$ iostat -m
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.54    0.08    2.37    3.41    0.00   81.61

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              16.18         0.34         0.49       5490       8012
mmcblk0           0.02         0.00         0.00          6          0

7. Zobrazení statistik procesoru a zařízení se zpožděním

Stejné s vmstat, jako statistický nástroj je nejlepší použít parametr delay. Se zpožděním vidíme, jaký je trend. Zde je několik ukázek pro spuštění iostatu se zpožděním.

Spusťte iostat s jednotkou kilobajtů, 2 sekundový interval s 3násobnými hlášeními.

$ iostat -k 2 3

Výstup:

Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.70    0.00    0.19    0.02    0.03   99.05

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         3.33        14.03    1561788    6572152

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.50    0.00    0.00    0.00    0.00   99.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.52    0.00    0.50    0.00    0.00   95.98

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.51         0.00        12.06          0         24

Chcete-li zobrazit sestavu pouze CPU s 2sekundovým intervalem a 2krát sestavenou, zadejte:

$ iostat -c 2 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.71    0.00    0.19    0.02    0.03   99.05

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.50    0.00    0.00    0.00    0.00   98.50

Chcete-li zobrazit pouze přehled zařízení sda6 a sda7 s 2sekundovým intervalem a 2krát hlášení, spusťte:

$ iostat -d sda7 sda6 2 2

Výstup:


Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6              3.40       108.29       130.75    1928577    2328496
sda7             12.19       211.96       305.79    3774804    5445696

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6              0.00         0.00         0.00          0          0
sda7              1.00         0.00        24.00          0         48

8. Zobrazit trvalé statistiky názvu zařízení

Zprávu je možné vytisknout podle názvu zařízení. Místo standardního /dev/sda jméno, vytiskne trvalý název zařízení pomocí volby -j a přidání ID klíčové slovo (určete typ trvalého názvu).

$ iostat -j ID mmcbkl0 sda6 -x -m 2 2 

Výstup:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.33    0.10    2.48    3.26    0.00   79.83

Device:  rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
ata-ST500LT012-1DG142_S3P4312X-part6
         0.19     0.88    2.51    0.82     0.10     0.12   138.36     0.21   61.81   57.12   76.12  10.81   3.60

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          19.40    0.00    1.25    0.63    0.00   78.72

Device:  rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
ata-ST500LT012-1DG142_S3P4312X-part6
         0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

9. Zobrazit  statistiky  pro  blokovaná zařízení

Je možné přímo automaticky zobrazit informace pro každé blokové zařízení. Není třeba uvádět každý název zařízení. Zobrazí statistiky pro bloková zařízení a všechny jejich oddíly, které systém používá. Pokud je na příkazovém řádku zadán název zařízení, zobrazí se statistika pro něj a všechny jeho oddíly. Stačí použít -p možnost

$ iostat -p

Výstup:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.93    0.10    2.51    3.19    0.00   79.28

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              15.82       297.18       474.87    5928512    9473117
sda1              0.00         0.11         0.00       2108          0
sda2              0.01         0.28         0.00       5679          1
sda3              0.00         0.10         0.00       2084          0
sda4              0.00         0.10         0.00       2092          0
sda5              0.09         0.77        45.62      15428     910068
sda6              3.26       102.76       117.09    2049957    2335908
sda7             12.09       192.75       306.99    3845120    6124136
sda8              0.12         0.20         5.16       3896     103004
mmcblk0           0.01         0.31         0.00       6282          0
mmcblk0p1         0.01         0.26         0.00       5242          0
$ iostat -p sdf 1 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos7-srv) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.18    0.41    3.94    4.10    0.00   84.37

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdf               0.47         3.54         0.00       4656          0
sdf1              0.09         0.70         0.00        920          0
sdf2              0.09         0.69         0.00        904          0
sdf3              0.09         0.69         0.00        904          0
sdf4              0.09         0.69         0.00        904          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.00    1.00    2.00    0.00    0.00   91.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdf               0.00         0.00         0.00          0          0
sdf1              0.00         0.00         0.00          0          0
sdf2              0.00         0.00         0.00          0          0
sdf3              0.00         0.00         0.00          0          0
sdf4              0.00         0.00         0.00          0          0

10. Zobrazit statistické informace lvm2

Statistiku LVM je možné zobrazit pomocí volby -N . Příkaz zobrazí registrované názvy mapovačů zařízení pro všechna zařízení mapující zařízení.

$ iostat -N

Závěr

Můžeme říci iostatu, aby vynechal výstup pro všechna zařízení, u kterých během vzorového období nedošlo k žádné aktivitě pomocí -z možnost.

Jednou z výhod tohoto nástroje je, že je můžete spouštět bez oprávnění root. Můžete to prozkoumat hlouběji, když prozkoumáte manuálovou stránku iostat zadáním man iostat ve vaší konzoli, aby se zobrazila manuálová stránka iostatu.

Přečtěte si také:

  • Jak monitorovat výkon Linuxu pomocí příkazu Sar
  • 14 nástrojů příkazového řádku pro kontrolu využití procesoru v systému Linux

Linux
  1. Linux Cat Command:Použití a příklady

  2. Hlášení I/O z příkazového řádku Linuxu

  3. Příklady příkazů swapon a swapoff v Linuxu

  1. Linux a porty pro dokončení I/O?

  2. Vyhodnocení čekání CPU I/O na Linuxu

  3. Linux top command:What are us, sy, ni, id, wa, hi, si and st (pro využití CPU)?

  1. Linuxové příkazy – přehled a příklady

  2. Příkaz mpstat pro Linux – hlásí statistiky související s procesory

  3. Příklady příkazů mkdir a rmdir v Linuxu