Iostat

From EIK wiki

Iostat

Autor: Elina Prudnikova

Rühm: A21

November 2014

Lühikirjeldus

Iostat'i kasutatakse sisend/väljund seadmete toimimise jälgimiseks. Näitab infot protsessori, võrgu, ketaste ja partitsioonide kohta. Iostat'i raportid on abiks süsteemi sisend/väljund seadmete optimiseerimiseks. Iostat genereerib kolme tüüpi raporteid: protsessori, plokkseadmete ja võrgu kasutusest. Esimene raport genereerib andmeid alates süsteemi alglaadimisest. Iga järgnev raport hõlmab aega alates eelmisest raportist. [1]

Iostat on osa sar utiliidist, mis sisaldub sysstat paketis. [2]

Paigaldamise lühijuhend

Iostat'i kasutamiseks on vaja paigaldada sysstat.[3]

sudo apt-get install sysstat

Kontrolli paigaldust:

$ sar -V
sysstat version 10.0.0
(C) Sebastien Godard (sysstat  orange.fr)
$ sar 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

Abiks paigaldamisel

Süntaks

Käsu süntaks on kujul: [4]

iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] 
       [ -z ] [ [ [ -T ] -g group_name ] { device [...] | ALL } ] 
       [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]

Võtmed

Kasutatavad võtmed on: [5]

-c Kuvab protsessori kasutuse raportit.
-d Kuvab seadmete kasutuse raportit.
-g group_name { device [...] | ALL } Kuvab seadmete grupi statistikat. Kuvatakse andmeid iga grupis oleva seadme kohta ja lisaks seadmete grupi kohta kokku. ALL käsk määrab, et kõiki süsteemi poolt defineeritud plokkseadmeid loetakse gruppi kuuluvaks.
-h Muudab kuvatud mõõtühikuid kergemini loetavaks (human readable).
-k Määra ühikuteks kb/s.
-m Määra ühikuteks Mb/s.
-N Kuvab infot device mapper'i kohta. Kasulik LVM2 jälgimiseks.
-p [ { device [,...] | ALL } ] Kuvab andmeid plokkseadmete ja nende partitsioonide kohta. Kui seadme nimi on lisatud, siis näidatakse infot selle seadme ja tema partitsioonide kohta. ALL näitab kõiki süsteemi partitsioone ja plokkseadmeid.
-T Seda võtit peab kasutama koos -g võtmega ja määrab, et kuvatakse andmeid grupi kohta kokku, mitte üksikute seadmete jaoks.
-t Näita iga raporti aega.
-V Prindi versiooni number ja tekst.
-x Kuva laiendatud statistikat.
-z Ära kuva seadmeid, mis pole näidisperioodi (sample period) jooksul olnud aktiivsed.

Protsessori ja plokkseadmete raport

Iostat käsk ilma võtmeteta kuvab infot protsessori kasutuse kohta ja sisend/väljund infot kõikide ketaste ja kettajagude kohta, nagu allpool esitatud. [6]

$ iostat
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.72      1096.66      1598.70 2719068704 3963827344
sda1            178.20       773.45      1329.09 1917686794 3295354888
sda2             16.51       323.19       269.61  801326686  668472456
sdb             371.31       945.97      1073.33 2345452365 2661206408
sdb1            371.31       945.95      1073.33 2345396901 2661206408
sdc             408.03       207.05       972.42  513364213 2411023092
sdc1            408.03       207.03       972.42  513308749 2411023092

Iostat võtmega -c kuvab infot ainult protsessori kasutuse kohta.[7]

$ iostat -c
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Iostat võtmega -d kuvab infot ainult ketaste ja kettajagude kohta.[8]

$ iostat -d
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.71      1096.61      1598.63 2719068720 3963827704
sda1            178.20       773.41      1329.03 1917686810 3295355248
sda2             16.51       323.18       269.60  801326686  668472456
sdb             371.29       945.93      1073.28 2345452365 2661209192
sdb1            371.29       945.91      1073.28 2345396901 2661209192
sdc             408.01       207.04       972.38  513364213 2411024484
sdc1            408.01       207.02       972.38  513308749 2411024484

Kasutatud mõõtühikud

Protsessori ja seadmete raportis kasutatud ühikud on esitatud järgnevas tabelis. [9]

%userKuva protsessori kasutuse protsenti ajal, kui toimus käivitamine kasutaja (programmi) tasemel.
%niceKuva protsessori kasutuse protsenti ajal, kui toimus käivitamine kasutaja prioriteediga nice tasemel.
%systemKuva protsessori kasutuse protsenti ajal, kui toimus käivitamine süsteemi tasemel.
%iowaitKuva protsenti ajast mil protsessor oli tegevusetu siis, kui süsteem sai olulise sisend/väljund nõude.
%stealKuva protsenti ajast mil virtuaalne protsessor oli ooteajal, sest hypervisor tegeles teise virtuaalse protsessoriga.
%idleKuva protsenti ajast mil protsessor oli tegevusetu ja süsteemil polnud olulisi sisend/väljund nõudeid.
tpsÜlekandeid sekundis. Ülekanne on seadmele edastatud sisend/väljund soov.
Blk_read/sKui palju andmeid on seadmelt loetud, esitatud kujul plokkide arv sekundis.
Blk_wrtn/sKui palju andmeid on seadmele kirjutatud, esitatud kujul plokkide arv sekundis.
Blk_readLoetud plokkide koguarv.
Blk_wrtnKirjutatud plokkide koguarv.

Võrgu raport

Võrgu statistika kuvamiseks saab kasutada võtit -n.[10]

$ iostat -n
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)        07/09/2011

avg-cpu:  %user   %nice    %sys %iowait   %idle
           4.33    0.01    1.16    0.31   94.19

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               2.83         0.35         5.39   29817402  457360056
sda1              3.32        50.18         4.57 4259963994  387641400
sda2              0.20         0.76         0.82   64685128   69718576
sdb               6.59        15.53        42.98 1318931178 3649084113
sdb1             11.80        15.53        42.98 1318713382 3649012985

Device:                  rBlk_nor/s   wBlk_nor/s   rBlk_dir/s   wBlk_dir/s   rBlk_svr/s   wBlk_svr/s
192.168.1.4:/home/data      90.67        0.00         0.00         0.00         5.33         0.00
192.168.1.4:/backup         8.74         0.00         0.00         0.00         8.74         0.00
192.168.1.8:/media          0.02         0.00         0.00         0.00         0.01         0.00

Kasutatud mõõtühikud Võrgu statistika kohta käivad ühikud on järgnevas tabelis.[11]

rBlk_nor/sProgrammide poolt loetud plokkide arv.
wBlk_nor/sProgrammide poolt kirjutatud plokkide arv.
rBlk_dir/s Loetud plokkide arv failidest, mis avati O_DIRECT lipuga.
wBlk_dir/s Kirjutatud plokkide arv failidesse, mis avati O_DIRECT lipuga.
rBlk_svr/sNFS kliendi poolt serverist loetud plokkide arv.
wBlk_svr/sNFS kliendi poolt serverisse kirjutatud plokkide arv.

Näited

Kindla seadme kohta info kuvamiseks saab kasutada võtit -p.[12]

$ iostat -p sda
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.69      1096.51      1598.48 2719069928 3963829584
sda2            336.38        27.17        54.00   67365064  133905080
sda1            821.89         0.69       243.53    1720833  603892838

Võti -t näitab jooksvat aega.[13]

$ iostat -t
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

Time: 08:57:52 AM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.69      1096.49      1598.45 2719070384 3963829704
sda1            178.18       773.32      1328.88 1917688474 3295357248
sda2             16.51       323.14       269.57  801326686  668472456
sdb             371.25       945.82      1073.16 2345452741 2661228872
sdb1            371.25       945.80      1073.16 2345397277 2661228872
sdc             407.97       207.02       972.27  513364233 2411030200
sdc1            407.97       207.00       972.27  513308769 2411030200

Võti -x kuvab lisainfot.[14]

$ iostat -x
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda              27.86    63.53 61.77 132.91  1096.46  1598.40    13.84     0.21    1.06   2.28  44.45
sda1              0.69    33.22 48.54 129.63   773.30  1328.84    11.80     1.39    7.82   2.28  40.57
sda2             27.16    30.32 13.23  3.28   323.13   269.56    35.90     0.55   32.96   3.44   5.68
sdb              39.15   215.16 202.20 169.04   945.80  1073.13     5.44     1.05    2.78   1.64  60.91
sdb1             39.15   215.16 202.20 169.04   945.77  1073.13     5.44     1.05    2.78   1.64  60.91
sdc               8.90     3.63 356.56 51.40   207.01   972.24     2.89     1.04    2.56   1.55  63.30
sdc1              8.90     3.63 356.55 51.40   206.99   972.24     2.89     1.04    2.56   1.55  63.30

Iostat'i on võimalik käivitada iga x sekundi pärast y korda. Käsk iostat 2 käivitab iostat'i iga 2 sekundi tagant, kuni peatamiseni Ctrl-C'ga.[15]

$ iostat 2
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.67      1096.39      1598.33 2719070584 3963891256
sda1            178.16       773.26      1328.79 1917688482 3295418672
sda2             16.51       323.11       269.54  801326878  668472584
sdb             371.22       945.74      1073.08 2345454041 2661251200
sdb1            371.22       945.72      1073.08 2345398577 2661251200
sdc             407.93       207.00       972.19  513366813 2411036564
sdc1            407.93       206.98       972.19  513311349 2411036564

Käsk iostat 2 3 käivitab iostat'i iga 2 sekundi tagant kokku 3 korda.[16]

$ iostat 2 3

Laiendatud versiooni kplokkseadmete info kuvamiseks saab kasutada käsku iostat -xtc.[17]

$ iostat -xtc
                  extended device statistics                      tty         cpu
device       r/s    w/s   kr/s   kw/s wait actv  svc_t  %w  %b  tin tout  us sy wt id
fd0          0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0    0    0   0  0  0 100
sd0          0.0    0.0    0.4    0.4  0.0  0.0   49.5   0   0 
sd6          0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0 
nfs1         0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0 
nfs49        0.0    0.0    0.0    0.0  0.0  0.0   15.1   0   0 
nfs53        0.0    0.0    0.4    0.0  0.0  0.0   24.5   0   0 
nfs54        0.0    0.0    0.0    0.0  0.0  0.0    6.3   0   0 
nfs55        0.0    0.0    0.0    0.0  0.0  0.0    4.9   0   0 

Kokkuvõte

Iostat on kasulik tööriist süsteemi toimimise jälgimiseks, mis kuvab infot plokkseadmete, protsessori ja võrgu kasutuse kohta. Selle abil saadud info on abiks süsteemi sisend/väljund seadmete konfiguratsiooni optimeerimiseks, kuna aitab välja selgitada võimalikke probleemseid kohti.

Allikad

Linux man page

Computerhope

Thegeekstuff

Oracle Solaris Admin