Iostat is een terminalprogramma dat gedetailleerde statistieken biedt over invoer-/uitvoerbewerkingen op systeemapparaten, zoals schijven. Het maakt deel uit van het sysstat-pakket, dat je met met apt kunt installeren. Iostat helpt de prestaties van opslagapparaten te controleren door statistieken te rapporteren zoals de hoeveelheid gelezen of geschreven gegevens, de tijd die je hebt besteed aan het wachten op I/O-bewerkingen en het percentage CPU-tijd dat wordt besteed aan I/O-taken. Iostat is vooral handig voor het diagnosticeren van knelpunten op schijven en het optimaliseren van de prestaties van het systeem.
iostat is standaard opgenomen in het sysstat-pakket. Je kunt het eenvoudig installeren door de volgende opdracht uit te voeren:
dany@pindabook:~$ sudo apt install sysstat
[sudo] wachtwoord voor root:
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
Voorgestelde pakketten:
isag
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
sysstat
0 opgewaardeerd, 1 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 596 kB aan archieven opgehaald worden.
Na deze bewerking zal er 1.828 kB extra schijfruimte gebruikt worden.
Ophalen:1 http://deb.debian.org/debian bookworm/main amd64 sysstat amd64 12.6.1-1 [596 kB]
596 kB opgehaald in 0s (7.634 kB/s)
Voorconfigureren van pakketten ...
Voorheen niet geselecteerd pakket sysstat wordt geselecteerd.
(Database wordt ingelezen ... 174013 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../sysstat_12.6.1-1_amd64.deb wordt voorbereid...
Bezig met uitpakken van sysstat (12.6.1-1) ...
Instellen van sysstat (12.6.1-1) ...
Creating config file /etc/default/sysstat with new version
update-alternatives: /usr/bin/sar.sysstat wordt gebruikt om in de automatische modus in /usr/bin/sar (sar) te voorzien
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer → /lib/systemd/system/sysstat-collect.timer.
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer → /lib/systemd/system/sysstat-summary.timer.
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /lib/systemd/system/sysstat.service.
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Laten we beginnen met het uitvoeren van de opdracht iostat zonder opties. Iostat geeft informatie weer over het CPU-gebruik en I/O-statistieken van jouw systeem:
dany@pindabook:~$ iostat
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1,56 0,00 0,78 0,45 0,00 97,21
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 44,22 1392,30 345,72 0,00 872135 216557 0
De eerste regel geeft de Linux-kernelversie en hostnaam weer in de bovenstaande uitvoer. De volgende twee regels geven CPU-statistieken weer, zoals het gemiddelde CPU-gebruik, het percentage van de tijd dat de CPU wachtte op de I/O-reactie, het percentage wachttijd van de virtuele CPU en het percentage van de tijd dat de CPU niets deed. De volgende twee regels geven het rapport over het gebruik van het apparaat weer, zoals het aantal blokken dat per seconde wordt gelezen en geschreven, en het totale aantal blokken die per seconde worden gelezen en geschreven.
Iostat geeft standaard het rapport weer met de huidige datum. Als je de huidige tijd wilt weergeven, voer je de volgende opdracht uit:
dany@pindabook:~$ iostat -t
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
22-09-24 16:11:10
avg-cpu: %user %nice %system %iowait %steal %idle
1,20 0,00 0,60 0,35 0,00 97,85
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 33,84 1054,04 263,70 0,00 872135 218189 0
Als je de versie van iostat wilt controleren, voer je de volgende opdracht uit:
dany@pindabook:~$iostat -V
sysstat — versie 12.6.1 (C) Sebastien Godard (sysstatorange.fr)
Je kunt alle beschikbare opties van iostat met de volgende opdracht weergeven:
dany@pindabook:~$iostat --help
Gebruik: iostat [OPTIE...] [[ ]] Options are: [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ { -f | +f } ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ --compact ] [ --dec={ 0 | 1 | 2 } ] [ --human ] [ --pretty ] [ -o JSON ] [ [ -H ] -g ] [ -p [ [,...] | ALL ] ] [ [...] | ALL ]
Als je alleen het apparaatrapport wilt bekijken, voer je de volgende opdracht uit:
dany@pindabook:~$ iostat -d
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 266,28 12151,41 448,38 0,00 643295 23737 0
Om het apparaatrapport elke 5 seconden te bekijken, en dit 3 maal:
dany@pindabook:~$ iostat -d 5 3
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 96,62 4289,57 173,75 0,00 643907 26081 0
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 0,40 0,00 3,20 0,00 0 16 0
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 0,80 17,60 3,20 0,00 88 16 0
Als je de statistieken van specifieke apparaten wilt bekijken, voer je de volgende opdracht uit:
dany@pindabook:~$ iostat -p sda
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2,23 0,00 1,47 0,63 0,00 95,67
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 57,93 2542,08 106,50 0,00 644011 26981 0
sda1 0,23 8,24 0,00 0,00 2088 0 0
sda2 0,90 22,01 0,00 0,00 5576 1 0
sda3 0,27 9,03 0,00 0,00 2288 0 0
sda4 54,56 2447,71 103,66 0,00 620102 26260 0
sda7 1,24 40,82 2,84 0,00 10341 720 0
Je kunt de statistieken van meerdere apparaten met de volgende opdracht bekijken:
iostat -p sda, sdb, sdc
Als je de I/O-statistieken van het apparaat in MB/seconde wilt weergeven, voer je de volgende opdracht uit:
dany@pindabook:~$ iostat -m
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1,77 0,00 1,03 0,42 0,00 96,78
Device tps MB_read/s MB_wrtn/s MB_dscd/s MB_read MB_wrtn MB_dscd
sda 38,61 1,75 0,25 0,00 714 103 0
Als je de uitgebreide gegevens voor een specifieke partitie (sda4) wilt bekijken, voer je de volgende opdracht uit:
dany@pindabook:~$ iostat -x sda4
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1,53 0,00 0,86 0,33 0,00 97,28
Device r/s rkB/s rrqm/s %rrqm r_await rareq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util
sda4 24,96 1354,92 8,58 25,59 0,70 54,29 3,94 202,92 3,18 44,67 2,65 51,49 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,03 1,19
Als je alleen de CPU-gebruiksstatistieken wilt weergeven, voer je de volgende opdracht uit:
dany@pindabook:~$ iostat -c
Linux 6.1.0-25-amd64 (pindabook) 22-09-24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1,38 0,00 0,75 0,28 0,00 97,58
dany@pindabook:~$ sudo apt purge sysstat
[sudo] wachtwoord voor root:
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende pakketten zullen VERWIJDERD worden:
sysstat*
0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 te verwijderen en 0 niet opgewaardeerd.
Na deze bewerking zal er 1.828 kB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n]
(Database wordt ingelezen ... 181351 bestanden en mappen momenteel geïnstalleerd.)
sysstat (12.6.1-1) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
(Database wordt ingelezen ... 181258 bestanden en mappen momenteel geïnstalleerd.)
Configuratiebestanden voor sysstat (12.6.1-1) worden gewist ...
dany@pindabook:~$ sudo apt autoremove
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.