iotop - Cheatsheet Moniteur I/O Disque par Processus
iotop est un utilitaire style top qui affiche l”utilisation I/O disque par processus en temps réel. Alors qu”iostat te dit qu”un appareil est occupé, iotop te dit quel processus fait la lecture et l”écriture, à quel débit et avec quelle priorité I/O. C”est le moyen le plus rapide de répondre « qu”est-ce qui tue le disque en ce moment ? » Il lit les données d”accounting du noyau et a donc besoin de root.
Installation
| Plateforme | Commande |
|---|
| Debian/Ubuntu | sudo apt install iotop |
| Fedora/RHEL | sudo dnf install iotop |
| Arch Linux | sudo pacman -S iotop |
| Condition Requise | Noyau avec CONFIG_TASK_IO_ACCOUNTING (standard) |
| Vérification | sudo iotop --version |
Exécution
| Commande | Description |
|---|
sudo iotop | Vue live interactive de tous les processus |
sudo iotop -o | Uniquement les processus qui font réellement l”I/O |
sudo iotop -a | Afficher l”I/O accumulé (totaux, pas les débits) |
sudo iotop -P | Afficher les processus (pas les threads individuels) |
sudo iotop -u USER | Filtrer par utilisateur |
sudo iotop -d 5 | Rafraîchir toutes les 5 secondes |
L”Affichage
| Colonne | Signification |
|---|
TID/PID | ID du thread ou du processus |
PRIO | Classe de priorité d”ordonnancement I/O |
USER | Propriétaire du processus |
DISK READ | Débit de lecture actuel |
DISK WRITE | Débit d”écriture actuel |
SWAPIN | % de temps passé en swap-in |
IO | % de temps en attente d”I/O |
COMMAND | Ligne de commande du processus |
Deux lignes d”en-tête montrent Total et Actual lecture/écriture disque pour tout le système.
Touches Interactives
| Touche | Action |
|---|
o | Basculer --only (masquer les processus inactifs) |
a | Basculer accumulé vs débit |
p | Basculer processus/threads |
r | Inverser l”ordre de tri |
← / → | Changer la colonne de tri |
q | Quitter |
Mode Batch / Enregistrement
Pour les scripts et la capture de preuves, exécuter non-interactif.
# Enregistrer les processus I/O top toutes les 2s, 10 itérations, uniquement les actifs
sudo iotop -boPqqq -d 2 -n 10 > iotop.log
| Drapeau | Effet |
|---|
-b | Mode batch (non-interactif) |
-o | Uniquement les processus actifs |
-n N | Nombre d”itérations |
-q | Silencieux (répéter pour supprimer les en-têtes) |
-k | Kilobytes |
Flux de Travail Courants
# « Qu''est-ce qui écrit sur le disque en ce moment ? » — uniquement actif, processus pas threads
sudo iotop -oP
# Attraper un pic d''I/O périodique au fil du temps
sudo iotop -boP -d 1 -n 60 > spikes.log
# Blâmer les processus d''un utilisateur pour la charge disque
sudo iotop -oP -u appuser
Priorité I/O (paires avec ionice)
iotop affiche la PRIO (classe ionice) ; tu la modifies avec ionice.
| Classe ionice | Signification |
|---|
ionice -c 1 | Priorité I/O temps réel |
ionice -c 2 -n 0..7 | Best-effort (défaut), niveau 0 = plus élevé |
ionice -c 3 | Idle — uniquement I/O quand le disque est autrement libre |
# Déprioritiser l''I/O disque d''un travail batch lourd
ionice -c 3 -p $(pgrep -n backup)
iotop vs Outils Connexes
| Outil | Répond |
|---|
| iotop | Quel processus fait l”I/O disque |
| iostat | Si l”appareil est saturé |
| pidstat -d | I/O par processus (scriptable, sysstat) |
| dstat/dool | Vue système combinée |
Flux de travail : iostat montre que le disque est occupé → iotop montre quel processus → ionice le déprioritise.
Ressources