Sådan installeres og bruges iostat på Ubuntu 17 Linux

Når du udfører administrationsopgaver i Linux -miljøer, er det ideelt og tilrådeligt at have værktøjer og hjælpeprogrammer, der giver os mulighed for at have en meget mere præcis kontrol over dataene, der skal analyseres, da vi på denne måde forenkler og bestiller vores opgave, så vi kan få meget mere nøjagtige resultater.

Et af disse værktøjer er iostat, og i dag i Solvetic vil vi analysere, hvordan vi kan gøre brug af det for at få direkte, klare og fuldstændig pålidelige rapporter om de elementer, vi administrerer i vores organisation uanset den anvendte distribution, i dette tilfælde vil vi bruge Ubuntu 17.10 Server.

Hvad er iostatIostat (input / output statistik - input / output statistik) er et værktøj, hvorigennem det vil være muligt at få oplysninger om input og output komponenter i systemet, hvilket giver administratoren eller brugeren mulighed for at identificere ydelsesproblemer på både den lokale disk og eksterne diske. eller generelle oplysninger om operativsystemet.

Ved at bruge denne kommando kan den bruges til at styre belastningen af ​​systemets input / output -enhed ved at observere den tid, disse enheder er aktive i forhold til deres gennemsnitlige overførselshastigheder i systemet.

Når vi bruger iostat, vil det være muligt at generere rapporter, der kan bruges til at ændre systemkonfigurationen og balancere på en meget mere effektiv måde input- og / eller outputbelastningen mellem de fysiske diske.

Den første rapport genereret af iostat -kommandoen giver os statistik over den generelle tid siden systemstartprocessen begyndte, og derfor dækker hver efterfølgende rapport den tid, der er gået siden den forrige rapport; Alle statistikker vil blive rapporteret hver gang vi kører iostat -kommandoen.

Denne rapport består af en CPU -header -række efterfulgt af en CPU -statistik -række, og hvis vi har multiprocessorsystemer, beregnes CPU -statistikken i hele systemet som gennemsnit blandt alle eksisterende processorer og derefter en række enhedsoverskrifter efterfulgt af en statistiklinje for hver konfigureret enhed.

1. Installer iostat på Ubuntu 17.10


Som standard i denne distribution er iostat inkluderet i Ubuntu sysstat -pakken, og vi kan installere den blot ved at udføre følgende kommando:
 sudo apt installere sysstat -y

FORSTØRRE

2. Brug iostat i Ubuntu 17.10

Trin 1
Den første kommando, vi kan køre, er iostat, der viser oplysninger om CPU -brug og I / O -statistik i Ubuntu 17.10:

FORSTØRRE

Trin 2
Der vil vi se detaljer som:

  • I den første linje versionen af ​​Linux -kernen og værtsnavnet.
  • I de næste to linjer vil vi se CPU -statistik, såsom det gennemsnitlige CPU -forbrug, den procentdel af tid, CPU'en var inaktiv og I / O -svaret, procentdelen af ​​den virtuelle CPU -timeout og den procentsats, CPU'en er inaktiv inden for system.
  • I de sidste to linjer vil vi kunne se rapporten om brugen af ​​enheden, såsom antallet af læse- og skriveblokke pr. Sekund og det samlede antal blok- og skriveaflæsninger pr. Sekund, der er blevet udført på denne enhed.

Trin 3
Som standard genererer kommandoen iostat rapporten med den aktuelle dato. Derfor, hvis vi vil vise det aktuelle tidspunkt, er det nødvendigt at bruge følgende kommando:

 iostat -t

FORSTØRRE

Trin 4
I øjeblikket vil vi bekræfte versionen af ​​iostat, bare udfør følgende:

 iostat -V

FORSTØRRE

Trin 5
Det er værd at nævne, at for at se alle de muligheder, som vi vil angive senere, kan vi bruge følgende linje:

 iostat -hjælp 

FORSTØRRE

3. Brug avanceret iostat -tilstand i Ubuntu 17.10


I nogle tilfælde kan vi gøre brug af nogle mere avancerede parametre afhængigt af den anmodede type, nogle af disse muligheder er følgende.

Trin 1
Hvis vi kun vil se rapporten om en enhed én gang, udfører vi følgende kommando:

 iostat -d

FORSTØRRE

Trin 2
For at se rapporten om denne enhed kontinuerligt hvert 7. sekund, udfører vi fire gange i træk følgende linje:

 iostat -d 7 4

FORSTØRRE

Trin 3
Hvis vi vil se statistikken over bestemte enheder, bruger vi følgende kommando:

 iostat -p sda

FORSTØRRE

Trin 4
Vi kan se statistikken over forskellige enheder på samme tid ved at udføre følgende:

 iostat -p sda, sdb, sdc
Trin 5
For at få I / O -statistikken for enheden i MB / sekund udfører vi følgende kommando:
 iostat -m

FORSTØRRE

Trin 6
For at få de specifikke oplysninger om en udvidet partition skal vi bruge følgende kommando:

 iostat -x "partition"

FORSTØRRE

Trin 7
For at få vist CPU -brugsstatistikken er kommandoen, der skal bruges, følgende:

 iostat -c

FORSTØRRE

4. Iostat rapporterer i Ubuntu 17.10


Nu kan vi se, at hver af de muligheder, der skal bruges, er praktiske, men hver linje indeholder en vis værdi, som vi ved første øjekast ikke vil være i stand til at forstå særlig godt, derfor vil Solvetic forklare, hvad hver af disse værdier betyder for endnu bedre at forstå resultaterne genereret af iostat forståelse for, at iostat -kommandoen genererer tre typer rapporter, der er:
  • CPU -udnyttelsesrapport
  • Rapporten om brug af enheden
  • Netværksfilsystemets rapport

Trin 1
Nu er værdierne som følger. I den første rapport genereret af iostat -kommandoen har vi oplysninger om CPU -udnyttelse. For multiprocessorsystemer er CPU -værdier globale gennemsnit på tværs af alle aktive processorer. Rapporten har følgende format:

% brugerViser procentdelen af ​​CPU -brug, der opstod under udførelse på brugerniveau (program).

% pænReflekterer procentdelen af ​​CPU -brug, der opstod under kørsel på brugerniveau med høj prioritet.

% systemViser procentdelen af ​​CPU -brug, der opstod under udførelse på systemniveau (kerne).

% iowaitViser den procentdel af tid, CPU'en eller CPU'erne var inaktive, hvor systemet havde en ventende disk -I / O -anmodning.

% stjæleViser procentdelen af ​​den tid, der bruges uforvarende på at vente på den eller de virtuelle CPU'er, mens hypervisoren betjente en anden virtuel processor.

% inaktivViser procentdelen af ​​tiden, hvor CPU (erne) var inaktive, og systemet ikke havde en ventende disk -I / O -anmodning.

Trin 2
Den anden rapport, der genereres af iostat -kommandoen, er enhedsudnyttelsesrapporten i denne enhedsrapportstatistik leveres af fysisk enhed eller af partition. Rapporten kan vise følgende felter afhængigt af de anvendte indikatorer:

EnhedDenne kolonne indeholder enhedsnavnet (eller partitionen), der vises som hdiskn for 2.2 kerner, for den nte enhed. Det vises som devm -n med 2,4 kerner, hvor m er hovedenhedens nummer og n er et karakteristisk tal. Med nyere kerner vil enhedsnavnet blive vist som vist i mappen / dev.

tpsAngiver antallet af overførsler pr. Sekund, der kom ind i enheden. En overførsel er en I / O -anmodning til enheden, denne kan kombineres med flere logiske anmodninger til en enkelt I / O -anmodning til enheden. En overførsel er af ubestemt størrelse.

Blk_read / sHenviser til mængden af ​​data, der læses fra enheden udtrykt i et antal blokke i sekundet. Blokkene svarer til sektorer med kerner 2.4 og senere og er derfor 512 bytes store. Med ældre kerner har en blok en ubestemt størrelse.

Blk_wrtn / sAngiver mængden af ​​data skrevet til enheden udtrykt i flere blokke i sekundet.

Blk_readDet er det samlede antal læste blokke.

Blk_wrtnDet er det samlede antal skrevne blokke.

kB_read / sAngiver mængden af ​​data, der læses fra enheden udtrykt i kilobyte pr. Sekund.

kB_wrtn / sAngiver mængden af ​​data skrevet til enheden udtrykt i kilobyte pr. Sekund.

kB_readDet er det samlede antal kilobytes læst.

kB_wrtnDet er det samlede antal kilobytes skrevet.

MB_læs / sHenviser til mængden af ​​data, der læses fra enheden udtrykt i megabyte pr. Sekund.

MB_wrtn / sHenviser til mængden af ​​data skrevet fra enheden udtrykt i megabyte pr. Sekund.

MB_læsDet er det samlede antal læste megabyte.

MB_wrtnDet er det samlede antal megabyte, der er skrevet.

rrqm / sDette er antallet af flettede læseanmodninger pr. Sekund, der stod i kø til enheden.

wrqm / sDette er antallet af flettede skriveforespørgsler pr. Sekund, der stod i kø til enheden.

r / sDet er antallet af læseanmodninger, der blev udsendt til enheden pr. Sekund.

m / sDet er antallet af skriveforespørgsler, der blev udsendt til enheden pr. Sekund.

rsek / sDe er antallet af sektorer, der læses fra enheden i sekundet.

wsec / sDe er antallet af skrevne sektorer af enheden pr. Sekund.

rkB / sDe er antallet af kilobytes, der læses fra enheden i sekundet.

wkB / sDe er antallet af kilobytes, der er skrevet til enheden i sekundet.

rMB / sDe er antallet af megabyte, der læses fra enheden i sekundet.

wMB / sDe er antallet af megabyte, der er skrevet til enheden pr. Sekund.

avgrq-szDet er den gennemsnitlige størrelse (i sektorer) af de anmodninger, der blev udsendt til enheden.

avgqu-szDet er den gennemsnitlige varighed af køen af ​​de anmodninger, der blev udsendt til enheden.

venteDet er den gennemsnitlige tid (i millisekunder) for I / O -anmodninger, der udsendes for enheden til at blive betjent i systemet.

svctmDet er den gennemsnitlige servicetid (i millisekunder) for I / O -anmodningerne, der blev udsendt til enheden.

%NyttigAngiver procentdelen af ​​CPU -tid, hvor I / O -anmodninger blev udsendt til enheden (brug af båndbredde til enheden). Enhedsmætning opstår, når denne værdi er tæt på 100%.

Trin 3
Den tredje iostat -rapport er Network File System (NFS) -rapporten, der indeholder statistik for hvert netværksfilsystem, der er monteret på systemet. Rapporten viser følgende felter:

FilsystemDenne kolonne viser værtsnavnet for NFS -serveren efterfulgt af et kolon og navnet på det bibliotek, hvor netværksfilsystemet er monteret.

rBlk_nor / sAngiver antallet af blokke, der læses af applikationer via læsesystemets opkaldsgrænseflade, en blok har en størrelse på 512 bytes.

wBlk_nor / sAngiver antallet af blokke, der er skrevet af applikationer via opkaldsgrænsefladen i skrivesystemet.

rBlk_dir / sHenviser til antallet af blokke, der læses fra åbne filer med O_DIRECT -flag.

wBlk_dir / sAngiver antallet af blokke, der er skrevet i åbne filer med O_DIRECT -flag.

rBlk_svr / sHenviser til antallet af blokke, der er læst fra serveren af ​​NFS -klienten gennem en NFS -læseanmodning.

wBlk_svr / sAngiver antallet af blokke, der er skrevet til serveren af ​​NFS -klienten gennem en NFS WRITE -anmodning.

ops / sAngiver antallet af operationer, der blev udsendt til filsystemet pr. Sekund.

rops / sAngiver antallet af 'læste' handlinger, der blev udsendt til filsystemet pr. Sekund.

wops / sHenviser til antallet af 'skrive' -operationer, der blev udsendt til filsystemet pr. Sekund.

5. Generelle iostat -parametre i Ubuntu 17.10


De parametre, vi kan bruge med iostat, er:

-cGenerer CPU -brugsrapporten.

-dGenerer rapport om brug af enheden.

-hTillad, at NFS -rapporten vises efter eget valg - det er lettere for et menneske at læse.

-kViser statistik i kilobytes pr. Sekund i stedet for blokke pr. Sekund. De viste data er kun gyldige med kerner 2.4 og nyere.

-mDet genererer statistik i megabyte pr. Sekund i stedet for blokke eller kilobytes pr. Sekund. De viste data er kun gyldige med kerner 2.4 og nyere.

-nViser rapporten Netværksfilsystem (NFS). Denne mulighed fungerer kun med kernel 2.6.17 og senere versioner.

-s[{enhed [,…] | ALL}]: -p -indstillingen viser statistikken for blokenhederne og alle deres partitioner, der bruges af systemet. Hvis vi tilføjer et enhedsnavn på kommandolinjen, vises statistikken og alle dens partitioner. Endelig angiver ALLE søgeordet, at der skal vises statistik for alle systemdefinerede blokpartitioner og -enheder.

-tUdskriver tiden for hver rapport, der genereres. Tidsstempelformatet kan afhænge af værdien af ​​miljøvariablen S_TIME_FORMAT.

-VUdskriv den anvendte iostat -version.

-xVis udvidet statistik.

-zPålægger iostat at springe output fra enhver enhed over, for hvilken der ikke er aktivitet i den valgte prøveperiode.

Som vi kan se, er iostat mere end et simpelt systemværktøj, vi skal få mest muligt ud af det og dermed styre vores operativsystemer på en meget mere komplet måde.

wave wave wave wave wave