Aller au contenu

iostat - Cheatsheet Statistiques CPU et I/O Disque

iostat - Cheatsheet Statistiques CPU et I/O Disque

iostat rapporte l”utilisation CPU et les statistiques I/O disque par appareil — débit, IOPS, latence des requêtes et profondeur de file d”attente. C”est l”arrêt standard en première ligne pour diagnostiquer les goulots d”étranglement du stockage sur Linux : le disque est-il saturé, les requêtes s”empilent-elles, la latence grimpe-t-elle ? Il est livré dans le paquet sysstat aux côtés de mpstat, pidstat et sar.

Installation

PlateformeCommande
Debian/Ubuntusudo apt install sysstat
Fedora/RHELsudo dnf install sysstat
Arch Linuxsudo pacman -S sysstat
macOSiostat est intégré (sortie différente)
Vérificationiostat -V

Utilisation Basique

CommandeDescription
iostatUn rapport depuis le démarrage (CPU + appareils)
iostat 2Rafraîchir toutes les 2 secondes
iostat 2 55 rapports, 2 secondes d”intervalle
iostat -xStatistiques étendues (les utiles)
iostat -dStatistiques d”appareil uniquement (pas de CPU)
iostat -cStatistiques CPU uniquement

La Commande Que Vous Voulez Vraiment

# Étendu, lisible par l''homme, par appareil, chaque 2s
iostat -xmt 2
DrapeauEffet
-xStatistiques étendues (util%, await, aqu-sz, …)
-mRapporter en MB/s (utiliser -k pour KB/s)
-tImprimer un timestamp avec chaque rapport
-p DEVAfficher les partitions d”un appareil (ex. -p sda)
-d 2Rapport d”appareil toutes les 2 secondes
-hFormatage lisible par l”homme, ami NVMe

Lecture de la Sortie Étendue (-x)

ColonneSignification
r/s, w/sRequêtes de lecture/écriture par seconde (IOPS)
rMB/s, wMB/sDébit de lecture/écriture
rareq-sz / wareq-szTaille moyenne de requête
r_await, w_awaitLatence moyenne de lecture/écriture (ms) — métrique clé
aqu-szProfondeur moyenne de file d”attente (requêtes en vol)
%utilFraction de temps que l”appareil était occupé

Interprétation des Signaux

ObservationInterprétation
%util près de 100%L”appareil est saturé (prudent sur SSD/NVMe — peut paralléliser)
await élevé (dizaines de ms+)Les requêtes sont lentes — goulot d”étranglement de latence
aqu-sz élevéLes requêtes s”empilent plus vite que le disque ne s”écoule
IOPS élevé, débit faiblePetit I/O aléatoire (charge de travail typique DB/metadata)
IOPS faible, débit élevéGrand I/O séquentiel (sauvegardes, streaming)

Sur SSD/NVMe modernes, %util peut lire 100% tandis que l”appareil a encore de la marge (il traite les requêtes en parallèle). Faire confiance à await et aqu-sz plus qu”à %util là-bas.

Section CPU

ChampSignification
%user / %niceTemps en espace utilisateur
%systemTemps dans le noyau
%iowaitCPU idle attendant l”I/O (indice de pression de stockage)
%stealTemps volé par l”hypervisor (voisins bruyants)
%idleTemps idle

Un %iowait élevé aux côtés d”un await disque élevé pointe carrément vers le stockage comme goulot d”étranglement.

Flux de Travail Courants

# Observer un goulot d''étranglement disque soupçonné en direct
iostat -xmt 2

# Focus sur un appareil et ses partitions
iostat -xmt -p nvme0n1 2

# Corréler iowait CPU avec latence d''appareil pendant un test de charge
iostat -xmt 1 60 > iostat.log

iostat vs Outils Connexes

OutilFocus
iostatStatistiques I/O par appareil + CPU
iotopQuel processus fait l”I/O
dstat/doolVue combinée CPU/disque/réseau
sarActivité système historique/enregistrée

Utiliser iostat pour voir que l”appareil est lent, puis iotop pour trouver quel processus est responsable.

Ressources