iostat(1)
NAMN
iostat – rapportera CPU-statistik och in-/utmatningsstatistik för enheter och partitioner
SYNOPSIS
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -U ]
[ -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[,...] | ALL ] ]
[ enhet [...] | ALL ] [ intervall [ antal ] ]
BESKRIVNING
Kommandot iostat används för att övervaka belastningen på systemets in- och utmatningsenheter genom att observera hur länge enheterna är aktiva i förhållande till deras genomsnittliga överföringshastigheter.
Rapporterna från iostat kan användas för att ändra systemets konfiguration så att in-/utmatningsbelastningen balanseras bättre mellan fysiska diskar.
Den första rapporten som skapas av iostat visar statistik sedan systemet startades, om inte optionen -y används. När -y används utelämnas denna första rapport.
Varje efterföljande rapport täcker tiden sedan föregående rapport. All statistik rapporteras varje gång iostat körs.
Rapporten består av en CPU-rubrikrad följd av en rad med CPU-statistik. Därefter visas en enhetsrubrikrad följd av en statistikrad för varje konfigurerad enhet.
På system med flera processorer beräknas CPU-statistiken systemomfattande som genomsnitt över alla processorer.
Parametern intervall anger tiden i sekunder mellan varje rapport.
Parametern antal kan anges tillsammans med intervall. Om antal anges bestämmer värdet hur många rapporter som skapas med intervall sekunder mellan varje rapport.
Om intervall anges utan antal skapar iostat rapporter fortlöpande.
RAPPORTER
iostat skapar två typer av rapporter:
- CPU-användningsrapport
- enhetsanvändningsrapport
CPU-ANVÄNDNINGSRAPPORT
Den första rapporttypen från iostat är CPU-användningsrapporten.
På flerprocessorsystem är CPU-värdena globala genomsnitt över alla processorer.
Rapporten har följande fält:
%user
- Visar procentandelen CPU-användning som skedde vid körning på användarnivå, alltså applikationsnivå.
%nice
- Visar procentandelen CPU-användning som skedde vid körning på användarnivå med nice-prioritet.
%system
- Visar procentandelen CPU-användning som skedde vid körning på systemnivå, alltså i kärnan.
%iowait
- Visar procentandelen tid då CPU:n eller CPU:erna var inaktiva samtidigt som systemet hade en väntande disk-I/O-begäran.
%steal
- Visar procentandelen tid som den virtuella CPU:n eller de virtuella CPU:erna ofrivilligt väntade medan hypervisorn hanterade en annan virtuell processor.
%idle
- Visar procentandelen tid då CPU:n eller CPU:erna var inaktiva och systemet inte hade någon väntande disk-I/O-begäran.
ENHETSANVÄNDNINGSRAPPORT
Den andra rapporttypen från iostat är enhetsanvändningsrapporten.
Enhetsrapporten visar statistik per fysisk enhet eller partition. Blockenheter och partitioner som statistik ska visas för kan anges på kommandoraden.
Om ingen enhet eller partition anges visas statistik för varje enhet som används av systemet, förutsatt att kärnan upprätthåller statistik för den.
Om nyckelordet ALL anges på kommandoraden visas statistik för varje enhet som definierats av systemet, även enheter som aldrig har använts.
Överföringshastigheter visas som standard i block om 1024 byte, om inte miljövariabeln POSIXLY_CORRECT är satt. Om POSIXLY_CORRECT är satt används block om 512 byte.
Rapporten kan visa följande fält beroende på vilka flaggor som används, till exempel -x, -s, -k eller -m.
Device:
- Enhetens eller partitionens namn, som det listas i katalogen /dev.
tps
- Antalet överföringar per sekund som skickades till enheten.
- En överföring är en I/O-begäran till enheten. Flera logiska begäranden kan slås samman till en enda I/O-begäran till enheten. En överföring har obestämd storlek.
Blk_read/s (kB_read/s, MB_read/s)
- Mängden data som lästs från enheten per sekund, uttryckt som antal block, kibibyte eller mebibyte per sekund.
- Block motsvarar sektorer och har därför storleken 512 byte.
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s)
- Mängden data som skrivits till enheten per sekund, uttryckt som antal block, kibibyte eller mebibyte per sekund.
Blk_dscd/s (kB_dscd/s, MB_dscd/s)
- Mängden data som kasserats för enheten per sekund, uttryckt som antal block, kibibyte eller mebibyte per sekund.
Blk_w+d/s (kB_w+d/s, MB_w+d/s)
- Mängden data som skrivits till eller kasserats för enheten per sekund, uttryckt som antal block, kibibyte eller mebibyte per sekund.
Blk_read (kB_read, MB_read)
- Totalt antal block, kibibyte eller mebibyte som lästs.
Blk_wrtn (kB_wrtn, MB_wrtn)
- Totalt antal block, kibibyte eller mebibyte som skrivits.
Blk_dscd (kB_dscd, MB_dscd)
- Totalt antal block, kibibyte eller mebibyte som kasserats.
Blk_w+d (kB_w+d, MB_w+d)
- Totalt antal block, kibibyte eller mebibyte som skrivits eller kasserats.
r/s
- Antalet läsbegäranden, efter sammanslagningar, som slutfördes per sekund för enheten.
w/s
- Antalet skrivbegäranden, efter sammanslagningar, som slutfördes per sekund för enheten.
d/s
- Antalet discard-begäranden, efter sammanslagningar, som slutfördes per sekund för enheten.
f/s
- Antalet flush-begäranden, efter sammanslagningar, som slutfördes per sekund för enheten.
- Detta räknar flush-begäranden som körts av diskar. Flush-begäranden spåras inte för partitioner. Innan de slås samman räknas flush-operationer som skrivningar.
sec/s (kB/s, MB/s)
- Antalet sektorer, kibibyte eller mebibyte som lästs från, skrivits till eller kasserats för enheten per sekund.
rsec/s (rkB/s, rMB/s)
- Antalet sektorer, kibibyte eller mebibyte som lästs från enheten per sekund.
wsec/s (wkB/s, wMB/s)
- Antalet sektorer, kibibyte eller mebibyte som skrivits till enheten per sekund.
dsec/s (dkB/s, dMB/s)
- Antalet sektorer, kibibyte eller mebibyte som kasserats för enheten per sekund.
rqm/s
- Antalet I/O-begäranden som slogs samman per sekund och köades till enheten.
rrqm/s
- Antalet läsbegäranden som slogs samman per sekund och köades till enheten.
wrqm/s
- Antalet skrivbegäranden som slogs samman per sekund och köades till enheten.
drqm/s
- Antalet discard-begäranden som slogs samman per sekund och köades till enheten.
%rrqm
- Procentandelen läsbegäranden som slogs samman innan de skickades till enheten.
%wrqm
- Procentandelen skrivbegäranden som slogs samman innan de skickades till enheten.
%drqm
- Procentandelen discard-begäranden som slogs samman innan de skickades till enheten.
areq-sz
- Genomsnittlig storlek, i kibibyte, på I/O-begäranden som skickades till enheten.
- I tidigare versioner hette detta fält avgrq-sz och uttrycktes i sektorer.
rareq-sz
- Genomsnittlig storlek, i kibibyte, på läsbegäranden som skickades till enheten.
wareq-sz
- Genomsnittlig storlek, i kibibyte, på skrivbegäranden som skickades till enheten.
dareq-sz
- Genomsnittlig storlek, i kibibyte, på discard-begäranden som skickades till enheten.
await
- Genomsnittlig tid, i millisekunder, för I/O-begäranden som skickades till enheten att bli betjänade.
- Detta inkluderar tiden som begärandena tillbringade i kö och tiden som gick åt till att betjäna dem.
r_await
- Genomsnittlig tid, i millisekunder, för läsbegäranden som skickades till enheten att bli betjänade.
w_await
- Genomsnittlig tid, i millisekunder, för skrivbegäranden som skickades till enheten att bli betjänade.
d_await
- Genomsnittlig tid, i millisekunder, för discard-begäranden som skickades till enheten att bli betjänade.
f_await
- Genomsnittlig tid, i millisekunder, för flush-begäranden som skickades till enheten att bli betjänade.
- Blocklagret kombinerar flush-begäranden och kör högst en åt gången. Därför kan flush-operationer ta dubbelt så lång tid: först vänta på aktuell flush-begäran, sedan köra den, och därefter vänta på nästa.
aqu-sz
- Genomsnittlig kölängd för begäranden som skickades till enheten.
- I tidigare versioner hette detta fält avgqu-sz.
%util
- Procentandel av förfluten tid under vilken I/O-begäranden skickades till enheten. Detta anger bandbreddsutnyttjandet för enheten.
- Enhetsmättnad inträffar när detta värde ligger nära 100 % för enheter som betjänar begäranden seriellt.
- För enheter som betjänar begäranden parallellt, till exempel RAID-arrayer och moderna SSD:er, speglar detta värde däremot inte deras prestandagränser.
OPTIONER
-c
- Visa CPU-användningsrapporten.
--compact
- Dela inte upp enhetsanvändningsrapporten i delrapporter. Alla mätvärden visas på en enda rad.
-d
- Visa enhetsanvändningsrapporten.
--dec={ 0 | 1 | 2 }
- Ange antalet decimaler som ska användas, från 0 till 2. Standardvärdet är 2.
-f katalog
+f katalog
- Ange en alternativ katalog som iostat ska läsa enhetsstatistik från.
- Optionen -f anger att iostat endast ska använda filer i den alternativa katalogen.
- Optionen +f anger att iostat ska använda både standardfilerna från kärnan och filerna i den alternativa katalogen.
katalog är en katalog som innehåller filer med statistik för enheter som hanteras i användarrymden.
Den kan innehålla:
- en fil med namnet diskstats vars format följer formatet i /proc
- statistik för enskilda enheter i filer vars format följer formatet för filer i /sys
Särskilt kan följande filer användas av iostat:
katalog/block/enhet/stat katalog/block/enhet/partition/stat
Partitioners filer måste ha en post i katalogen:
katalog/dev/block/
Exempel:
katalog/dev/block/major:minor -> ../../block/enhet/partition
-g gruppnamn { enhet [...] | ALL }
- Visa statistik för en grupp av enheter.
- iostat rapporterar först statistik för varje enskild enhet i listan och därefter en rad med global statistik för gruppen. Gruppen visas som gruppnamn och består av alla enheter i listan.
- Nyckelordet ALL betyder att alla blockenheter som definierats av systemet ska ingå i gruppen.
-H
- Denna option måste användas tillsammans med -g.
- Den anger att endast global statistik för gruppen ska visas, inte statistik för enskilda enheter i gruppen.
-h
- Motsvarar att ange:
--human --pretty
--human
- Skriv storlekar i mänskligt läsbart format, till exempel 1.0k eller 1.2M.
- Enheter som visas med denna option ersätter andra standardenheter som annars hör till mätvärdena, till exempel kibibyte eller sektorer.
-j { ID | LABEL | PATH | UUID | ... } [ enhet [...] | ALL ]
- Visa beständiga enhetsnamn.
- Nyckelord som ID, LABEL, PATH och UUID anger vilken typ av beständigt namn som ska användas.
- Dessa nyckelord är inte begränsade till en fast lista. Det enda kravet är att katalogen med de önskade beständiga namnen finns i:
/dev/disk
- Valfritt kan flera enheter anges med vald typ av beständigt namn.
- Eftersom beständiga enhetsnamn ofta är långa aktiveras --pretty automatiskt med denna option.
-k
- Visa statistik i kibibyte per sekund.
-m
- Visa statistik i mebibyte per sekund.
-N
- Visa registrerade device mapper-namn för device mapper-enheter.
- Detta är användbart för att visa LVM2-statistik.
-o JSON
- Visa statistiken i JSON-format, alltså JavaScript Object Notation.
- Ordningen på fält i JSON-utmatningen är odefinierad, och nya fält kan läggas till i framtiden.
-p [ { enhet [,...] | ALL } ]
- Visa statistik för blockenheter och alla deras partitioner som används av systemet.
- Om ett enhetsnamn anges på kommandoraden visas statistik för enheten och alla dess partitioner.
- Nyckelordet ALL anger att statistik ska visas för alla blockenheter och partitioner som definierats av systemet, även sådana som aldrig har använts.
- Om optionen -j anges före denna option kan enheter på kommandoraden anges med vald typ av beständigt namn.
--pretty
- Gör enhetsanvändningsrapporten lättare att läsa för människor.
- Enhetsnamnet skrivs på högra sidan. Rapporten kan också delas upp i delrapporter om det finns många mätvärden att visa.
- Använd --compact för att förhindra uppdelning i delrapporter.
-s
- Visa en kort, smal version av rapporten som bör få plats på skärmar med 80 teckens bredd.
-t
- Skriv tiden för varje rapport som visas.
- Tidsstämpelns format kan bero på miljövariabeln S_TIME_FORMAT och på om optionen -U används.
-U
- Visa tidsstämpel som UTC, Coordinated Universal Time, i sekunder sedan epoken.
-V
- Skriv versionsnummer och avsluta.
-x
- Visa utökad statistik.
-y
- Utelämna den första rapporten med statistik sedan systemstart när flera poster visas med ett angivet intervall.
-z
- Utelämna utmatning för enheter som inte hade någon aktivitet under mätperioden.
MILJÖ
Kommandot iostat tar hänsyn till följande miljövariabler:
POSIXLY_CORRECT
- När denna variabel är satt visas överföringshastigheter i block om 512 byte i stället för standardvärdet 1024 byte.
S_COLORS
- Som standard visas statistik med färg när utmatningen är ansluten till en terminal.
- Denna variabel kan användas för att ändra inställningen.
Möjliga värden:
- never
- always
- auto
Värdet auto motsvarar standardinställningen.
Observera att färgen som används för att visa ett värde, till exempel röd eller gul, inte i sig betyder att det finns ett problem. Färgen anger endast olika värdeintervall.
S_COLORS_SGR
- Anger färger och andra attribut som används för att visa statistik i terminalen.
- Värdet är en kolonseparerad lista över egenskaper. Standardvärdet är:
I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22
Egenskaper som stöds:
I=
- SGR-delsträng, Select Graphic Rendition, för enhetsnamn.
N=
- SGR-delsträng för statistikvärden som inte är noll.
W= eller M=
- SGR-delsträng för procentvärden i intervallet 75 % till 90 %, eller i intervallet 10 % till 25 % beroende på mätvärdets betydelse.
X= eller H=
- SGR-delsträng för procentvärden större än eller lika med 90 %, eller mindre än eller lika med 10 %, beroende på mätvärdets betydelse.
Z=
- SGR-delsträng för nollvärden.
S_TIME_FORMAT
- Om denna variabel finns och har värdet ISO ignoreras aktuell lokal när datum skrivs i rapportrubriken.
- iostat använder då ISO 8601-formatet:
YYYY-MM-DD
- Tidsstämpeln som visas med optionen -t följer också ISO 8601-formatet.
EXEMPEL
Visa en enda historikrapport sedan systemstart för alla CPU:er och enheter:
iostat
Visa en kontinuerlig enhetsrapport med två sekunders intervall:
iostat -d 2
Visa sex rapporter med två sekunders intervall för alla enheter:
iostat -d 2 6
Visa sex rapporter med utökad statistik med två sekunders intervall för enheterna sda och sdb:
iostat -x sda sdb 2 6
Visa sex rapporter med två sekunders intervall för enheten sda och alla dess partitioner, till exempel sda1:
iostat -p sda 2 6
FEL
Filsystemet /proc 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 visar enheter som motsvarar kilobyte, megabyte och så vidare, alltså kB och MB, använder programmet egentligen kibibyte och mebibyte, alltså KiB och MiB.
En kibibyte är 1024 byte. En mebibyte är 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
Projektets webbplatser:
https://github.com/sysstat/sysstat https://sysstat.github.io/
KOLOFON
Denna sida är en del av projektet sysstat, alltså verktyg för prestandaövervakning.
Information om projektet finns på:
http://sebastien.godard.pagesperso-orange.fr/
Felrapporter för denna manualsida skickas till:
sysstat-AT-orange.fr
Sidan hämtades från projektets uppströms Git-förråd:
https://github.com/sysstat/sysstat.git
Den hämtades den 24 maj 2026. Vid den tidpunkten var datumet för den senaste hittade commiten i förrådet den 17 maj 2026.
Om du upptäcker renderingsproblem i HTML-versionen av sidan, eller anser att det finns en bättre eller mer uppdaterad källa för sidan, eller har rättelser eller förbättringar av informationen i kolofonen, kan du skicka e-post till:
man-pages@man7.org
HÄNVISAD FRÅN
KORT SAMMANFATTNING
iostat visar CPU- och disk-I/O-statistik.
Vanlig användning:
iostat
Visa diskstatistik varannan sekund:
iostat -d 2
Visa utökad diskstatistik:
iostat -x
Visa statistik för en viss disk:
iostat -x sda 2
Visa disk och partitioner:
iostat -p sda 2
Visa mänskligt läsbar utmatning:
iostat -h
Visa JSON:
iostat -o JSON
iostat används främst för felsökning och övervakning av diskbelastning, kölängder, väntetider och CPU-tid som går åt till att vänta på I/O.