Un serveur Linux ralentit, mais le processeur semble calme ? Le stockage peut être en cause. Iotop relie l’activité d’E/S disque aux processus qui lisent ou écrivent, en temps réel. En quelques commandes dans le terminal, vous pouvez repérer la charge, distinguer un pic passager d’un problème persistant et choisir la prochaine vérification utile.
L’article en bref
Iotop complète les statistiques globales du disque en montrant quels processus génèrent des entrées et sorties. Ce guide vous accompagne de l’installation au diagnostic, sans confondre espace occupé et activité disque.
- Repérer l’activité : associez les lectures et écritures disque aux processus concernés.
- Choisir les options : filtrez les tâches actives, les utilisateurs ou les processus.
- Enregistrer les mesures : capturez plusieurs relevés pour analyser un pic dans le temps.
- Compléter le diagnostic : croisez Iotop avec iostat pour mieux comprendre la saturation.
À retenir : Iotop indique qui sollicite le stockage, tandis qu’iostat aide à évaluer l’état du périphérique.
À quoi sert Iotop pour la surveillance disque sous Linux ?
Iotop est un outil de monitoring système en ligne de commande, proche de top dans son fonctionnement. Au lieu de présenter surtout le processeur et la mémoire, il affiche l’activité d’E/S disque associée aux processus : lectures, écritures et temps passé à attendre les opérations de stockage.
Cette distinction est utile lorsqu’un service ralentit sans forte utilisation du CPU. Une sauvegarde qui écrit un gros fichier, une base de données sollicitée ou un programme qui parcourt de nombreux petits fichiers peuvent tous provoquer une activité importante, mais n’appellent pas la même investigation.
Iotop lit les informations de comptabilisation fournies par le noyau Linux. Son exécution nécessite généralement les privilèges administrateur, par exemple avec sudo. Il montre l’activité attribuée aux tâches, mais ne remplace pas les outils qui mesurent la capacité globale du périphérique.
Quelle différence entre Iotop et iostat ?
iostat, fourni par le paquet sysstat, décrit l’activité au niveau du périphérique : débit, opérations par seconde et temps d’attente. Iotop descend au niveau des processus et aide à répondre à une autre question : quel programme produit cette activité ?
Pour un diagnostic efficace, commencez par iostat si vous soupçonnez une saturation, puis lancez Iotop pour identifier les tâches impliquées. Sur un SSD NVMe, un pourcentage d’utilisation élevé ne suffit pas, à lui seul, pour conclure à un blocage : observez aussi la latence et le contexte de la charge.
Installer Iotop et le lancer dans le terminal
Installez Iotop avec le gestionnaire de paquets de votre distribution. Un accès administrateur est nécessaire pour cette installation, puis pour la plupart des mesures détaillées. La disponibilité et la variante du paquet peuvent différer selon les versions de Linux.
| Distribution | Commande d’installation | Vérification |
|---|---|---|
| Debian ou Ubuntu | sudo apt install iotop | sudo iotop –version |
| Fedora ou RHEL | sudo dnf install iotop | sudo iotop –version |
| Arch Linux | sudo pacman -S iotop | sudo iotop –version |
Si aucune donnée exploitable ne s’affiche, vérifiez les droits d’exécution et la prise en charge de la comptabilisation des E/S par le noyau, notamment l’option CONFIG_TASK_IO_ACCOUNTING. Elle est généralement activée dans les noyaux des distributions courantes.
Première commande : sudo iotop. L’interface se rafraîchit et présente les tâches observées ; les touches affichées dans la version installée peuvent varier légèrement.
Les options Iotop les plus pratiques
Les options permettent de réduire le bruit visuel et de mieux cibler l’analyse. Pour rechercher rapidement un responsable, commencez par afficher uniquement les tâches actives et regrouper les informations au niveau des processus.
- sudo iotop -o masque les tâches sans activité d’E/S observée.
- sudo iotop -P affiche les processus plutôt que chaque thread individuellement.
- sudo iotop -a présente les E/S cumulées depuis le démarrage d’Iotop, plutôt qu’un débit instantané.
- sudo iotop -u nom_utilisateur limite l’affichage aux tâches d’un utilisateur.
- sudo iotop -d 5 demande un rafraîchissement toutes les cinq secondes.
Les options peuvent être combinées, par exemple avec sudo iotop -oP. Ce réglage donne une vue plus lisible des processus qui travaillent effectivement sur le stockage.
Lire les colonnes et comprendre l’utilisation disque
L’affichage d’Iotop associe chaque ligne à une tâche et présente son activité de stockage. Deux lignes d’en-tête indiquent aussi les totaux et les valeurs instantanées du système ; elles aident à comparer l’activité d’un processus à celle de la machine entière.
| Colonne | Ce qu’elle indique | Comment l’interpréter |
|---|---|---|
| TID ou PID | Identifiant du thread ou du processus | Permet de distinguer les tâches observées. |
| PRIO | Priorité d’ordonnancement des E/S | À lire avec les paramètres ionice du processus. |
| USER | Compte propriétaire de la tâche | Utile pour filtrer l’activité par utilisateur. |
| DISK READ | Débit de lecture observé | Repère les processus qui récupèrent des données. |
| DISK WRITE | Débit d’écriture observé | Met en évidence les tâches qui écrivent sur le stockage. |
| SWAPIN | Part du temps associée aux entrées depuis le swap | Peut orienter vers une pression mémoire. |
| IO | Temps passé à attendre des opérations d’E/S | Une valeur persistante mérite une investigation. |
| COMMAND | Commande ou nom de la tâche | Fournit un premier indice sur son rôle. |
Un débit élevé ne signifie pas automatiquement qu’un processus est défectueux : une sauvegarde ou une indexation peut fonctionner normalement. En revanche, si les ralentissements coïncident avec une tâche inattendue et une attente d’E/S importante, vous disposez d’une piste concrète à vérifier.
Les touches interactives servent à adapter la vue pendant l’observation : o bascule l’affichage des tâches actives, a passe des débits aux valeurs cumulées, p change l’affichage processus ou threads, et q quitte l’outil. La touche de tri peut varier selon la version ; consultez l’aide affichée dans votre terminal.
Enregistrer les E/S disque et repérer un pic
Un affichage instantané peut manquer une activité intermittente. Le mode batch permet de collecter plusieurs relevés dans un fichier, pratique pour examiner un pic survenu pendant une sauvegarde ou une tâche planifiée.
Exemple : sudo iotop -boPqqq -d 2 -n 10 > iotop.log. Cette commande collecte dix relevés espacés de deux secondes, en mode non interactif, en se concentrant sur les tâches actives et les processus. Les options silencieuses réduisent les en-têtes répétés ; retirez-en si vous avez besoin de davantage de repères dans le fichier.
Pour une observation plus longue, adaptez l’intervalle et le nombre de relevés, par exemple : sudo iotop -boP -d 1 -n 60 > pics.log. La capture reste limitée à une minute et peut ensuite être comparée à l’heure d’apparition des lenteurs.
Priorité I/O : quand utiliser ionice
Iotop affiche la priorité, mais ne la modifie pas. La commande ionice permet de régler la classe d’E/S d’un processus, selon les politiques prises en charge par le noyau et le périphérique.
- Classe 1 : temps réel, à réserver aux besoins maîtrisés.
- Classe 2 : priorité « best-effort », avec des niveaux de priorité.
- Classe 3 : priorité « idle », pour effectuer les E/S lorsque le stockage est disponible.
Une tâche de sauvegarde non urgente peut, par exemple, être lancée avec une priorité basse grâce à ionice -c 3. Avant de modifier une tâche déjà en cours, identifiez précisément son PID et vérifiez les effets attendus : réduire sa priorité peut prolonger son exécution.
Associer Iotop à iostat pour diagnostiquer une saturation
Lorsque les performances se dégradent, il faut distinguer un disque occupé d’un volume presque plein. Pour l’espace disponible, df -h vérifie les systèmes de fichiers et df -i contrôle les inodes, c’est-à-dire les structures nécessaires à la gestion des fichiers. Iotop, lui, mesure l’activité des tâches, pas l’espace libre.
Pour examiner le périphérique, installez le paquet sysstat, qui fournit iostat. Sur Debian et Ubuntu, utilisez sudo apt install sysstat ; sur les systèmes Fedora ou compatibles RHEL, le gestionnaire de paquets est généralement dnf. La collecte historique peut demander une configuration complémentaire selon la distribution, mais les mesures en direct restent accessibles avec la commande iostat.
iostat -xz 1 actualise les statistiques étendues chaque seconde. Examinez notamment le débit, les opérations de lecture et d’écriture, ainsi que le temps d’attente. L’indicateur %util renseigne sur le temps pendant lequel le périphérique a traité des requêtes, mais son interprétation dépend du type de stockage et du parallélisme, en particulier pour les SSD NVMe.
Le chemin de diagnostic est simple : iostat signale un périphérique très sollicité, Iotop identifie les processus actifs, puis ionice peut réduire la priorité d’une tâche non urgente. Si vous surveillez aussi la disponibilité de services, un outil complémentaire comme Uptime Kuma installé avec Docker peut suivre leur état, sans remplacer l’analyse des E/S disque.
Appliquer une méthode de diagnostic reproductible
Imaginez une petite équipe dont l’application web devient lente chaque soir. Le CPU reste peu utilisé, mais iostat signale une activité soutenue ; Iotop révèle alors une tâche d’indexation lancée au même moment. Cette observation ne prouve pas à elle seule que l’indexation est fautive, mais elle permet de vérifier son calendrier, son volume de travail et son effet sur les autres services.
- Vérifiez l’espace et les inodes : utilisez df -h et df -i pour écarter un problème de capacité.
- Mesurez le périphérique : lancez iostat -xz 1 et relevez les tendances, plutôt qu’un seul instantané.
- Identifiez les tâches : utilisez sudo iotop -oP au moment où les lenteurs surviennent.
- Confirmez la piste : comparez les résultats avec les journaux et les horaires des tâches planifiées.
- Agissez prudemment : décalez une sauvegarde, ajustez une tâche ou sollicitez l’équipe responsable du service.
Les pics de sauvegarde, les journaux trop bavards, les accès aléatoires d’une base de données ou un usage important du swap sont des pistes fréquentes. Si les mesures indiquent beaucoup d’activité liée au swap, contrôlez aussi la mémoire : un stockage lent peut être le symptôme d’une pression mémoire plutôt que la cause initiale.
Pour compléter le monitoring système, la présentation d’Uptime Kuma pour surveiller des services apporte une vue sur leur disponibilité. Gardez toutefois des outils distincts pour chaque question : disponibilité des services, activité par processus et saturation du périphérique.
Pourquoi Iotop nécessite-t-il les droits administrateur ?
Iotop s’appuie sur les informations de comptabilisation des E/S fournies par le noyau. Les privilèges administrateur sont généralement nécessaires pour accéder aux données détaillées des processus.
Que faire si Iotop n’affiche pas de processus actif ?
L’activité peut être terminée avant le relevé ou trop faible pour apparaître. Relancez l’observation pendant le ralentissement avec sudo iotop -oP et vérifiez les droits ainsi que la prise en charge de CONFIG_TASK_IO_ACCOUNTING par le noyau.
Iotop indique-t-il si le disque est plein ?
Non. Iotop surveille l’activité d’E/S associée aux processus. Utilisez df -h pour vérifier l’espace disponible et df -i pour contrôler les inodes.
Quelle différence entre les valeurs instantanées et cumulées ?
Les valeurs instantanées montrent le débit observé pendant le rafraîchissement. Le mode cumulé additionne l’activité depuis le lancement d’Iotop, ce qui aide à repérer les tâches ayant produit le plus d’E/S sur la durée.
Je suis Léa Marchand, rédactrice spécialisée en formation et compétences numériques. J’aide celles et ceux qui veulent apprendre à coder, se reconvertir ou faire grandir leur carrière à décrypter les bons parcours, les financements et les métiers de la tech. J’écris clair, sans jargon, avec des méthodes qui marchent.





