Iostat
IOSTAT(1)
Linux Användarmanual
NAMN
iostat - Rapportera Central Processing Unit (CPU)-statistik och in-/utmatningsstatistik för enheter och partitioner.
SAMMANFATTNING
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ --compact ] [ --dec={ 0 | 1 | 2 } ] [ { -f | +f } katalog ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ -o JSON ] [ [ -H ] -g gruppnamn ] [ --human ] [ --pretty ] [ -p [ enhet[,...] | ALLA ] ] [ enhet [...] | ALLA ] [ intervall [ antal ] ]
BESKRIVNING
Kommandot iostat används för att övervaka systemets in-/utmatningsbelastning genom att observera den tid enheterna är aktiva i förhållande till deras genomsnittliga överföringshastigheter. Kommandot iostat genererar rapporter som kan användas för att ändra systemkonfigurationen för att bättre balansera in-/utmatningsbelastningen mellan fysiska diskar.
Den första rapporten som genereras av iostat-kommandot ger statistik om tiden sedan systemet startades, om inte alternativet -y
används (i så fall utelämnas den första rapporten). Varje efterföljande rapport täcker tiden sedan föregående rapport. All statistik rapporteras varje gång iostat-kommandot körs. Rapporten består av en CPU-huvudrad följt av en rad med CPU-statistik. På multiprocessorsystem beräknas CPU-statistik systemomfattande som genomsnitt bland alla processorer. En enhetshuvudrad visas följt av en rad statistik för varje konfigurerad enhet.
Parametern intervall anger mängden tid i sekunder mellan varje rapport. Parametern antal kan anges tillsammans med intervallparametern. Om parametern antal anges, bestämmer värdet på antal antalet rapporter som genereras med intervall sekunders mellanrum. Om intervallparametern anges utan parametern antal, genererar iostat-kommandot rapporter kontinuerligt.
RAPPORTER
Kommandot iostat genererar två typer av rapporter, CPU-användningsrapporten och Enhetsanvändningsrapporten.
CPU-användningsrapport
Den första rapporten som genereras av iostat-kommandot är CPU-användningsrapporten. För multiprocessorsystem är CPU-värdena globala genomsnitt bland alla processorer. Rapporten har följande format:
- %user Visar procentandel av CPU-användningen som skedde vid körning på användarnivå (applikation).
- %nice Visar procentandel av CPU-användningen som skedde vid körning på användarnivå med nice-prioritet.
- %system Visar procentandel av CPU-användningen som skedde vid körning på systemnivå (kärna).
- %iowait Visar procentandel av tiden då CPU:n eller CPU:erna var inaktiva under vilken systemet hade en utestående disk-I/O-förfrågan.
- %steal Visar procentandel av tiden som spenderades i ofrivillig väntan av den virtuella CPU:n eller CPU:erna medan hypervisorn betjänade en annan virtuell processor.
- %idle Visar procentandel av tiden som CPU:n eller CPU:erna var inaktiva och systemet inte hade någon utestående disk-I/O-förfrågan.
Enhetsanvändningsrapport
Den andra rapporten som genereras av iostat-kommandot är Enhetsanvändningsrapporten. Enhetsrapporten ger statistik på en per fysisk enhet eller partitionsbasis. Blockenheter och partitioner för vilka statistik ska visas kan anges på kommandoraden. Om ingen enhet eller partition anges, visas statistik för varje enhet som används av systemet, under förutsättning att kärnan upprätthåller statistik för det. Om nyckelordet ALLA anges på kommandoraden, visas statistik för varje enhet som definieras av systemet, inklusive de som aldrig har använts. Överföringshastigheter visas i 1K-block som standard, om inte miljövariabeln POSIXLY_CORRECT är inställd, i vilket fall 512-byte block används. Rapporten kan visa följande fält, beroende på de flaggor som används (t.ex. -x
, -s
och -k
eller -m
):
- Enhet: Denna kolumn visar enhetens (eller partitionens) namn som listat i /dev-katalogen.
- tps Anger antalet överföringar per sekund som skickades till enheten. En överföring är en I/O-förfrågan till enheten. Flera logiska förfrågningar kan kombineras till en enda I/O-förfrågan till enheten. En överföring är av obestämd storlek.
- Blk_read/s (kB_read/s, MB_read/s) Anger mängden data som lästes från enheten uttryckt i ett antal block (kilobyte, megabyte) per sekund. Block är ekvivalenta med sektorer och har därför en storlek på 512 byte.
- Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s) Anger mängden data som skrevs till enheten uttryckt i ett antal block (kilobyte, megabyte) per sekund.
- Blk_dscd/s (kB_dscd/s, MB_dscd/s) Anger mängden data som kasserades för enheten uttryckt i ett antal block (kilobyte, megabyte) per sekund.
- Blk_w+d/s (kB_w+d/s, MB_w+d/s) Anger mängden data som skrivits eller kasserats för enheten uttryckt i ett antal block (kilobyte, megabyte) per sekund.
- Blk_read (kB_read, MB_read) Det totala antalet block (kilobyte, megabyte) som lästs.
- Blk_wrtn (kB_wrtn, MB_wrtn) Det totala antalet block (kilobyte, megabyte) som skrivits.
- Blk_dscd (kB_dscd, MB_dscd) Det totala antalet block (kilobyte, megabyte) som kasserats.
- Blk_w+d (kB_w+d, MB_w+d) Det totala antalet block (kilobyte, megabyte) som skrivits eller kasserats.
- r/s Antalet (efter sammanslagningar) av läsförfrågningar som slutförts per sekund för enheten.
- w/s Antalet (efter sammanslagningar) av skrivförfrågningar som slutförts per sekund för enheten.
- d/s Antalet (efter sammanslagningar) av kasseringar som slutförts per sekund för enheten.
- f/s Antalet (efter sammanslagningar) av tömningsförfrågningar som slutförts per sekund för enheten. Detta räknar tömningsförfrågningar som utförts av diskar. Tömningar spåras inte för partitioner. Innan sammanslagning räknas tömningsoperationer som skrivningar.
- sec/s (kB/s, MB/s) Antalet sektorer (kilobyte, megabyte) lästa från, skrivna till eller kasserade för enheten per sekund.
- rsec/s (rkB/s, rMB/s) Antalet sektorer (kilobyte, megabyte) lästa från enheten per sekund.
- wsec/s (wkB/s, wMB/s) Antalet sektorer (kilobyte, megabyte) skrivna till enheten per sekund.
- dsec/s (dkB/s, dMB/s) Antalet sektorer (kilobyte, megabyte) kasserade för enheten per sekund.
- rqm/s Antalet I/O-förfrågningar sammanslagna per sekund som var köade till enheten.
- rrqm/s Antalet läsförfrågningar sammanslagna per sekund som var köade till enheten.
- wrqm/s Antalet skrivförfrågningar sammanslagna per sekund som var köade till enheten.
- drqm/s Antalet kasseringsförfrågningar sammanslagna per sekund som var köade till enheten.
- %rrqm Procentandel av läsförfrågningar som sammanslogs innan de skickades till enheten.
- %wrqm Procentandel av skrivförfrågningar som sammanslogs innan de skickades till enheten.
- %drqm Procentandel av kasseringsförfrågningar som sammanslogs innan de skickades till enheten.
- areq-sz Den genomsnittliga storleken (i kilobyte) på I/O-förfrågningarna som skickades till enheten.
* Obs: I tidigare versioner var detta fält känt som avgrq-sz
och uttrycktes i sektorer.
- rareq-sz Den genomsnittliga storleken (i kilobyte) på läsförfrågningarna som skickades till enheten.
- wareq-sz Den genomsnittliga storleken (i kilobyte) på skrivförfrågningarna som skickades till enheten.
- dareq-sz Den genomsnittliga storleken (i kilobyte) på kasseringsförfrågningarna som skickades till enheten.
- await Den genomsnittliga tiden (i millisekunder) för I/O-förfrågningar som skickades till enheten att betjänas. Detta inkluderar tiden som spenderats av förfrågningarna i kö och tiden som spenderats på att betjäna dem.
- r_await Den genomsnittliga tiden (i millisekunder) för läsförfrågningar som skickades till enheten att betjänas. Detta inkluderar tiden som spenderats av förfrågningarna i kö och tiden som spenderats på att betjäna dem.
- w_await Den genomsnittliga tiden (i millisekunder) för skrivförfrågningar som skickades till enheten att betjänas. Detta inkluderar tiden som spenderats av förfrågningarna i kö och tiden som spenderats på att betjäna dem.
- d_await Den genomsnittliga tiden (i millisekunder) för kasseringsförfrågningar som skickades till enheten att betjänas. Detta inkluderar tiden som spenderats av förfrågningarna i kö och tiden som spenderats på att betjäna dem.
- f_await Den genomsnittliga tiden (i millisekunder) för tömningsförfrågningar som skickades till enheten att betjänas. Blocklagret kombinerar tömningsförfrågningar och utför högst en åt gången. Således kan tömningsoperationer ta dubbelt så lång tid: Vänta på aktuell tömningsförfrågan, utför den sedan och vänta sedan på nästa.
- aqu-sz Den genomsnittliga kölängden för förfrågningar som skickades till enheten.
* Obs: I tidigare versioner var detta fält känt som avgqu-sz
.
- %util Procentandel av förfluten tid under vilken I/O-förfrågningar skickades till enheten (bandbreddsanvändning för enheten). Enhetsmättnad inträffar när detta värde närmar sig 100 % för enheter som betjänar förfrågningar seriekopplade. Men för enheter som betjänar förfrågningar parallellt, som RAID-arrayer och moderna SSD-enheter, återspeglar detta nummer inte deras prestandagränser.
ALTERNATIV
- -c Visa CPU-användningsrapporten.
- --compact Bryt inte Enhetsanvändningsrapporten i underrapporter så att alla metriska data visas på en enda rad.
- -d Visa enhetsanvändningsrapporten.
- --dec={ 0 | 1 | 2 } Ange antalet decimaler som ska användas (0 till 2, standardvärde är 2).
- -f katalog +f katalog Ange en alternativ katalog för iostat att läsa enhetsstatistik från. Alternativet
-f
säger till iostat att använda endast filerna i den alternativa katalogen, medan alternativet+f
säger att använda både standardkärnfilerna och filerna i den alternativa katalogen för att läsa enhetsstatistik. - -g gruppnamn { enhet [...] | ALLA } Visa statistik för en grupp av enheter. Kommandot iostat rapporterar statistik för varje enskild enhet i listan och sedan en rad med global statistik för gruppen som visas som gruppnamn och består av alla enheter i listan. Nyckelordet ALLA betyder att alla blockenheter som definieras av systemet ska ingå i gruppen.
- -H Detta alternativ måste användas med alternativet
-g
och anger att endast global statistik för gruppen ska visas, och inte statistik för enskilda enheter i gruppen. - -h Detta alternativ motsvarar att ange
--human --pretty
. - --human Skriv ut storlekar i ett läsbart format för människor (t.ex. 1.0k, 1.2M, etc.) Enheterna som visas med detta alternativ ersätter alla andra standardenheter (t.ex. kilobyte, sektorer...) som är kopplade till metriska data.
- -j { ID | LABEL | PATH | UUID | ... } [ enhet [...] | ALLA ] Visa persistenta enhetsnamn. Nyckelord som ID, LABEL, etc. anger typen av det beständiga namnet. Dessa nyckelord är inte begränsade, enda förutsättningen är att katalogen med de nödvändiga beständiga namnen finns i /dev/disk. Alternativt kan flera enheter anges i den valda typen av beständigt namn. Eftersom persistenta enhetsnamn vanligtvis är långa, ställs alternativet
--pretty
in implicit med detta alternativ. - -k Visa statistik i kilobyte per sekund.
- -m Visa statistik i megabyte per sekund.
- -N Visa de registrerade enhetsmappningsnamnen för alla enhetsmappare. Användbart för att visa LVM2-statistik.
- -o JSON Visa statistiken i JSON-format (JavaScript Object Notation). JSON-fältens ordning är inte fastställd, och nya fält kan läggas till i framtiden.
- -p [ { enhet[,...] | ALLA } ] Visa statistik för blockenheter och alla deras partitioner som används av systemet. Om ett enhetsnamn anges på kommandoraden, visas statistik för den och alla dess partitioner. Slutligen anger nyckelordet ALLA att statistik ska visas för alla blockenheter och partitioner som definieras av systemet, inklusive de som aldrig har använts. Om alternativet
-j
är definierat före detta alternativ, kan enheter som anges på kommandoraden specificeras med den valda typen av beständigt namn. - --pretty Gör Enhetsanvändningsrapporten lättare att läsa för en människa. Enhetsnamnet skrivs ut till höger. Rapporten kan också delas upp i underrapporter om det finns många metriska data att visa (använd
--compact
-alternativet för att förhindra detta). - -s Visa en kort (smal) version av rapporten som ska passa på skärmar som är 80 tecken breda.
- -t Skriv ut tiden för varje rapport som visas. Tidsstämpelns format kan bero på värdet av miljövariabeln
S_TIME_FORMAT
(se nedan). - -V Skriv ut versionsnumret och avsluta.
- -x Visa utökad statistik.
- -y Utelämna första rapporten med statistik sedan systemstart, om flera poster visas vid angivet intervall.
- -z Tala om för iostat att utelämna utdata för alla enheter som inte hade någon aktivitet under provperioden.
MILJÖVARIABLER
Kommandot iostat tar hänsyn till följande miljövariabler:
- POSIXLY_CORRECT När denna variabel är inställd visas överföringshastigheter i 512-byte block istället för de standardmässiga 1K blocken.
- S_COLORS Som standard visas statistik i färg när utdata är ansluten till en terminal. Använd denna variabel för att ändra inställningarna. Möjliga värden för denna variabel är never, always eller auto (det senare är ekvivalent med standardinställningarna).
* Observera att färgen (som kan vara röd, gul eller någon annan färg) som används för att visa ett värde inte indikerar någon form av problem enbart på grund av färgen. Den indikerar endast olika värdeintervall.
- S_COLORS_SGR Ange färgerna och andra attribut som används för att visa statistik på terminalen. Dess värde är en kolonavgränsad lista över funktioner som standard är
I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22
. Stödda funktioner är:
* I= SGR (Select Graphic Rendition) substräng för enhetsnamn. * N= SGR substräng för icke-noll-statistikvärden. * W= (eller M=) SGR substräng för procentvärden i intervallet från 75 % till 90 % (eller i intervallet 10 % till 25 % beroende på den metriska datans betydelse). * X= (eller H=) SGR substräng för procentvärden som är större än eller lika med 90 % (eller lägre än eller lika med 10 % beroende på den metriska datans betydelse). * Z= SGR substräng för nollvärden.
- S_TIME_FORMAT Om denna variabel finns och dess värde är ISO kommer den aktuella lokaliteten att ignoreras vid utskrift av datumet i rapporthuvudet. Kommandot iostat kommer att använda ISO 8601-formatet (ÅÅÅÅ-MM-DD) istället. Tidsstämpeln som visas med alternativet
-t
kommer också att vara kompatibel med ISO 8601-formatet.
EXEMPEL
iostat
Visa en enda historik sedan startrapport för alla CPU:er och enheter.iostat -d 2
Visa en kontinuerlig enhetsrapport med två sekunders intervaller.iostat -d 2 6
Visa sex rapporter med två sekunders intervaller för alla enheter.iostat -x sda sdb 2 6
Visa sex rapporter med utökad statistik med två sekunders intervaller för enheterna sda och sdb.iostat -p sda 2 6
Visa sex rapporter med två sekunders intervaller för enheten sda och alla dess partitioner (sda1, etc.)
BUGGAR
- /proc-filsystemet måste vara monterat för att iostat ska fungera.
- Kärnor äldre än 2.6.x stöds inte längre.
- Även om iostat talar om kilobyte (kB), megabyte (MB)..., använder det faktiskt kibibyte (kiB), mebibyte (MiB)... En kibibyte är lika med 1024 byte och en mebibyte är lika med 1024 kibibyte.
FILER
- /proc/stat innehåller systemstatistik.
- /proc/uptime innehåller systemets upptid.
- /proc/diskstats innehåller diskstatistik.
- /sys innehåller statistik för blockenheter.
- /proc/self/mountstats innehåller statistik för nätverksfilsystem.
- /dev/disk innehåller beständiga enhetsnamn.
FÖRFATTARE
Sebastien Godard (sysstat <at> orange.fr)
SE ÄVEN
- sar(1), pidstat(1), mpstat(1), vmstat(8), tapestat(1), nfsiostat(1), cifsiostat(1)
- https://github.com/sysstat/sysstat
- https://sysstat.github.io/
KOLLOFON
Denna sida är en del av sysstat (sysstat prestandaövervakningsverktyg). Information om projektet finns på http://sebastien.godard.pagesperso-orange.fr/. Om du har en buggrapport för denna manualsida, skicka den till sysstat-AT-orange.fr. Denna sida hämtades från projektets uppströms Git-repository https://github.com/sysstat/sysstat.git den 2024-06-14. (Vid den tidpunkten var datumet för den senaste commit som hittades i repositoryn 2024-06-12.) Om du upptäcker några problem med rendering i denna HTML-version av sidan, eller om du tror att det finns en bättre eller mer uppdaterad källa för sidan, eller om du har korrigeringar eller förbättringar av informationen i denna KOLLOFON (som inte är en del av den ursprungliga manualsidan), skicka ett mail till man-pages@man7.org