När du utför administrativa uppgif.webpter i Linux -miljöer är det idealiskt och lämpligt att ha verktyg och verktyg som gör att vi kan ha en mycket mer exakt kontroll över data som ska analyseras eftersom vi på så sätt förenklar och beställer vår uppgif.webpt, så att vi kan få mycket mer exakta resultat.
Ett av dessa verktyg är iostat och idag i Solvetic kommer vi att analysera hur vi kan använda det för att få direkta, tydliga och helt tillförlitliga rapporter om de element som vi hanterar i vår organisation oavsett vilken distribution som används, i det här fallet kommer vi att använda Ubuntu 17.10 -server.
Vad är iostatIostat (input / output -statistik - input / output -statistik) är ett verktyg som gör det möjligt att få information om systemets input- och output -komponenter, vilket ger administratören eller användaren möjlighet att identifiera prestandaproblem på både den lokala disken och fjärrskivor. eller allmän information om operativsystemet.
Genom att använda det här kommandot kan det användas för att styra belastningen på systemets in / ut -enhet genom att observera den tid som dessa enheter är aktiva i förhållande till deras genomsnittliga överföringshastigheter i systemet.
När vi använder iostat kommer det att vara möjligt att generera rapporter som kan användas för att ändra systemkonfiguration och balansera på ett mycket mer effektivt sätt inmatnings- och / eller utmatningsbelastningen mellan de fysiska skivorna.
Den första rapporten som genereras av iostat -kommandot ger oss statistik om den allmänna tiden sedan systemstartprocessen började. Därför täcker varje efterföljande rapport tiden som gått sedan den föregående rapporten. All statistik kommer att rapporteras varje gång vi kör iostat -kommandot.
Denna rapport består av en CPU -huvudrad följt av en CPU -statistikrad och, om vi har multiprocessorsystem, beräknas CPU -statistiken i hela systemet som medelvärden bland alla befintliga processorer och sedan en rad enhetsrubriker följt av en rad statistik för varje konfigurerad enhet.
1. Installera iostat på Ubuntu 17.10
Som standard i denna distribution ingår iostat i Ubuntu sysstat -paketet och vi kan installera det helt enkelt genom att utföra följande kommando:
sudo apt installera sysstat -y
FÖRSTORA
2. Använd iostat i Ubuntu 17.10
Steg 1
Det första kommandot vi kan köra är iostat som visar information om CPU -användning och I / O -statistik för Ubuntu 17.10:
FÖRSTORA
Steg 2
Där kommer vi att se detaljer som:
- På första raden versionen av Linux -kärnan och värdnamnet.
- I de följande två raderna kommer vi att se CPU -statistik, till exempel den genomsnittliga CPU -användningen, procentandelen av tid som CPU: n var inaktiv och I / O -svaret, andelen virtuell CPU -timeout och procentandelen CPU: n är inaktiv inom systemet.
- På de två sista raderna kommer vi att kunna se rapporten om användning av enheten, såsom antalet läs- och skrivblock per sekund och det totala antalet block och skrivläsningar per sekund som har utförts på nämnda enhet.
Steg 3
Som standard genererar kommandot iostat rapporten med det aktuella datumet, därför måste vi använda följande kommando om vi vill visa den aktuella tiden:
iostat -t
FÖRSTORA
Steg 4
För närvarande vill vi verifiera versionen av iostat, kör bara följande:
iostat -V
FÖRSTORA
Steg 5
Det är värt att nämna att för att se alla alternativ, som vi kommer att ange senare, kan vi använda följande rad:
iostat -hjälp
FÖRSTORA
3. Använd avancerat iostat -läge i Ubuntu 17.10
I vissa fall kan vi använda några mer avancerade parametrar beroende på vilken typ av begäran som begärs, några av dessa alternativ är följande.
Steg 1
Om vi bara vill se rapporten om en enhet en gång, kör vi följande kommando:
iostat -d
FÖRSTORA
Steg 2
För att se rapporten om den här enheten kontinuerligt var 7: e sekund kör vi följande rad fyra gånger i rad:
iostat -d 7 4
FÖRSTORA
Steg 3
Om vi vill se statistiken för specifika enheter kommer vi att använda följande kommando:
iostat -p sda
FÖRSTORA
Steg 4
Vi kan se statistiken för olika enheter samtidigt genom att köra följande:
iostat -p sda, sdb, sdcSteg 5
För att få I / O -statistiken för enheten i MB / sekund kör vi följande kommando:
iostat -m
FÖRSTORA
Steg 6
För att få specifik information om en utökad partition måste vi använda följande kommando:
iostat -x "partition"
FÖRSTORA
Steg 7
Kommandot som ska användas är följande för att visa CPU -användningsstatistiken:
iostat -c
FÖRSTORA
4. Iostat rapporterar i Ubuntu 17.10
Nu kan vi se att var och en av alternativen att använda är praktisk, men varje rad innehåller ett visst värde som vi vid första anblicken inte kommer att kunna förstå så bra, det är därför Solvetic kommer att förklara vad var och en av dessa värden betyder för att ännu bättre förstå resultaten från iostat förstå att kommandot iostat genererar tre typer av rapporter som är:
- CPU -användningsrapporten
- Enhetsanvändningsrapporten
- Rapporten för nätverksfilsystemet
Steg 1
Nu är värdena följande. I den första rapporten som genereras av iostat -kommandot har vi CPU -användningsinformation. För multiprocessorsystem är CPU -värden globala genomsnitt för alla aktiva processorer. Rapporten har följande format:
% användareVisar procentandelen CPU -användning som inträffade under körningen på användarnivå (applikationsnivå).
% trevligAvspeglar procentandelen CPU -användning som uppstod vid körning på användarnivå med hög prioritet.
% systemetVisar procentandelen CPU -användning som inträffade under körningen på systemnivån (kärnan).
% iowaitVisar procentandelen tid som CPU: n eller CPU: erna var inaktiv under vilka systemet hade en väntande disk I / O -begäran.
% stjälVisar procentandelen av tiden som oavsiktligt väntar på den eller de virtuella processorerna medan hypervisoren betjänar en annan virtuell processor.
% inaktivVisar procentandelen tid som CPU (erna) var inaktiva och systemet inte hade en väntande disk I / O -begäran.
Steg 2
Den andra rapporten som genereras av iostat -kommandot är Device Utilization Report i denna enhetsrapportstatistik tillhandahålls av fysisk enhet eller partition. Beroende på vilka indikatorer som används kan rapporten visa följande fält:
EnhetDen här kolumnen ger enhetsnamnet (eller partitionen), som visas som hdiskn för 2.2 -kärnor, för den n: a enheten. Det visas som devm -n med 2,4 kärnor, där m är huvudenhetens nummer och n är ett distinkt tal. Med nyare kärnor visas enhetsnamnet som visas i katalogen / dev.
tpsAnger antalet överföringar per sekund som kom in i enheten. En överföring är en I / O -begäran till enheten, detta kan kombineras med flera logiska förfrågningar till en enda I / O -begäran till enheten. En överföring är av obestämd storlek.
Blk_read / sAvser mängden data som läses från enheten uttryckt i ett antal block per sekund. Blocken motsvarar sektorer med kärnor 2.4 och senare och är därför 512 byte stora. Med äldre kärnor har ett block en obestämd storlek.
Blk_wrtn / sAnger mängden data som skrivs till enheten uttryckt i flera block per sekund.
Blk_readDet är det totala antalet block som läses.
Blk_wrtnDet är det totala antalet skrivna block.
kB_read / sAnger mängden data som läses från enheten uttryckt i kilobyte per sekund.
kB_wrtn / sAnger mängden data som skrivs till enheten uttryckt i kilobyte per sekund.
kB_readDet är det totala antalet avlästa kilobyte.
kB_wrtnDet är det totala antalet kilobyte som skrivits.
MB_läs / sAvser mängden data som läses från enheten uttryckt i megabyte per sekund.
MB_wrtn / sAvser mängden data som skrivits från enheten uttryckt i megabyte per sekund.
MB_läsningDet är det totala antalet lästa megabyte.
MB_wrtnDet är det totala antalet megabyte som skrivits.
rrqm / sDetta är antalet sammanslagna läsförfrågningar per sekund som köades till enheten.
wrqm / sDetta är antalet sammanfogade skrivförfrågningar per sekund som köades till enheten.
r / sDet är antalet läsförfrågningar som skickades till enheten per sekund.
w / sDet är antalet skrivförfrågningar som skickades ut till enheten per sekund.
rsek / sDe är antalet sektorer som läses från enheten per sekund.
wsec / sDe är antalet skrivna sektorer av enheten per sekund.
rkB / sDe är antalet kilobyte som läses från enheten per sekund.
wkB / sDe är antalet kilobyte som skrivs till enheten per sekund.
rMB / sDe är antalet megabyte som läses från enheten per sekund.
wMB / sDe är antalet megabyte som skrivs till enheten per sekund.
avgrq-szDet är den genomsnittliga storleken (i sektorer) på de förfrågningar som skickades till enheten.
avgqu-szDet är den genomsnittliga längden på kön för de förfrågningar som skickades till enheten.
väntaDet är den genomsnittliga tiden (i millisekunder) för I / O -begäranden som utfärdas för att enheten ska serveras i systemet.
svctmDet är den genomsnittliga servicetiden (i millisekunder) för I / O -begäranden som skickades till enheten.
%AnvändbarAnger procentandelen CPU -tid under vilken I / O -begäranden skickades ut till enheten (bandbreddsanvändning för enheten). Enhetsmättnad uppstår när detta värde är nära 100%.
Steg 3
Den tredje iostatrapporten är Network File System (NFS) -rapporten som tillhandahåller statistik för varje nätverksfilsystem som är monterat på systemet. Rapporten visar följande fält:
FilsystemDenna kolumn visar värdnamnet för NFS -servern följt av ett kolon och namnet på katalogen där nätverksfilsystemet är monterat.
rBlk_nor / sAnger antalet block som läses av applikationer via läsesystemets samtalsgränssnitt, ett block har en storlek på 512 byte.
wBlk_nor / sAnger antalet block som skrivits av applikationer via skrivarsystemets samtalsgränssnitt.
rBlk_dir / sAvser antalet block som läses från öppna filer med O_DIRECT -flaggan.
wBlk_dir / sAnger antalet block skrivna i öppna filer med O_DIRECT -flaggan.
rBlk_svr / sAvser antalet block som läses från servern av NFS -klienten genom en NFS -läsförfrågan.
wBlk_svr / sAnger antalet block som skrivits till servern av NFS -klienten genom en NFS WRITE -begäran.
ops / sAnger antalet operationer som utfärdades till filsystemet per sekund.
rops / sAnger antalet "läs" -operationer som utfärdades till filsystemet per sekund.
wops / sAvser antalet "skriv" -operationer som utfärdades till filsystemet per sekund.
5. Allmänna iostat -parametrar i Ubuntu 17.10
Parametrarna som vi kan använda med iostat är:
-cGenerera CPU -användningsrapporten.
-dGenerera enhetsanvändningsrapporten.
-hLåt NFS -rapporten visas efter eget val - det är lättare för en människa att läsa.
-kVisar statistik i kilobyte per sekund istället för block per sekund. Data som visas är endast giltig med kärnor 2.4 och senare.
-mDet genererar statistik i megabyte per sekund istället för block eller kilobyte per sekund. Data som visas är endast giltig med kärnor 2.4 och senare.
-nVisar NFS -rapporten (Network File System). Det här alternativet fungerar bara med kärnan 2.6.17 och senare versioner.
-s[{enhet [, …] | ALL}]: Alternativet -p visar statistiken för blockenheterna och alla deras partitioner som används av systemet. Om vi lägger till ett enhetsnamn på kommandoraden visas statistiken och alla dess partitioner. Slutligen indikerar ALL-sökordet att statistik ska visas för alla systemdefinierade blockpartitioner och enheter.
-tSkriver ut tiden för varje rapport som genereras. Tidsstämpelformatet kan bero på värdet på miljövariabeln S_TIME_FORMAT.
-VSkriv ut den version av iostat som används.
-xVisa utökad statistik.
-zInstruerar iostat att hoppa över utmatningen från en enhet för vilken det inte finns någon aktivitet under den valda provperioden.
Som vi kan se är iostat mer än ett enkelt systemverktyg, vi måste göra det mesta av det och därmed hantera våra operativsystem på ett mycket mer komplett sätt.