Iostat
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
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]
%user | Kuva protsessori kasutuse protsenti ajal, kui toimus käivitamine kasutaja (programmi) tasemel. |
%nice | Kuva protsessori kasutuse protsenti ajal, kui toimus käivitamine kasutaja prioriteediga nice tasemel. |
%system | Kuva protsessori kasutuse protsenti ajal, kui toimus käivitamine süsteemi tasemel. |
%iowait | Kuva protsenti ajast mil protsessor oli tegevusetu siis, kui süsteem sai olulise sisend/väljund nõude. |
%steal | Kuva protsenti ajast mil virtuaalne protsessor oli ooteajal, sest hypervisor tegeles teise virtuaalse protsessoriga. |
%idle | Kuva 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/s | Kui palju andmeid on seadmelt loetud, esitatud kujul plokkide arv sekundis. |
Blk_wrtn/s | Kui palju andmeid on seadmele kirjutatud, esitatud kujul plokkide arv sekundis. |
Blk_read | Loetud plokkide koguarv. |
Blk_wrtn | Kirjutatud 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/s | Programmide poolt loetud plokkide arv. |
wBlk_nor/s | Programmide 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/s | NFS kliendi poolt serverist loetud plokkide arv. |
wBlk_svr/s | NFS 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.