Commande Linux iotop
Encyclopédie des commandes Linux
iotop est un outil de surveillance système Linux similaire à la commande top, mais il se concentre sur l'affichage de l'utilisation des E/S disque. Il peut surveiller en temps réel l'activité de lecture/écriture disque de chaque processus du système, aidant les administrateurs système à identifier les processus à forte activité d'E/S.
Contrairement à des outils tels que iostat, iotop fournit une surveillance des E/S par processus, ce qui permet de déterminer avec précision la vitesse de lecture/écriture et la quantité cumulée d'E/S de chaque processus.
Installation de iotop
La plupart des distributions Linux n'installent pas iotop par défaut, il doit donc être installé manuellement :
Exemples
sudo apt-get install iotop
# Systèmes RHEL/CentOS
sudo yum install iotop
# Systèmes Fedora
sudo dnf install iotop
# Arch Linux
sudo pacman -S iotop
Syntaxe de base
Le format de commande de base d'iotop est le suivant :
sudo iotop [选项]
Remarque : iotop nécessite les privilèges root pour s'exécuter, car il doit accéder aux statistiques d'E/S du noyau.
Options et paramètres courants
| Option | Description |
|---|---|
-oou--only |
Afficher uniquement les processus effectuant réellement des opérations d'E/S |
-bou--batch |
Mode non interactif, adapté à une utilisation dans des scripts |
-n NUM |
Nombre d'itérations à exécuter en mode non interactif |
-d SEC |
Définir l'intervalle de rafraîchissement (secondes) |
-p PID |
Surveiller uniquement les processus avec le PID spécifié |
-u USER |
Surveiller uniquement les processus de l'utilisateur spécifié |
-Pou--processes |
Afficher uniquement les processus, pas les threads |
-aou--accumulated |
Afficher les E/S cumulées au lieu de la bande passante |
-kou--kilobytes |
Utiliser KB/s au lieu de B/s comme unité |
-tou--time |
Ajouter des horodatages à la sortie |
-qou--quiet |
Réduire les informations d'en-tête (activé automatiquement en mode non interactif) |
Raccourcis clavier en mode interactif
En mode interactif, iotop prend en charge les opérations de raccourci clavier suivantes :
| Raccourci clavier | Fonction |
|---|---|
| Touches fléchées gauche/droite | Changer le champ de tri |
| r | Inverser le tri |
| o | Afficher uniquement les processus d'E/S actifs (équivalent à l'option -o) |
| p | Basculer le mode d'affichage processus/thread |
| a | Basculer le mode d'affichage cumulatif/temps réel |
| q | Quitter iotop |
| i | Modifier le filtrage par priorité (afficher uniquement les processus ayant une priorité plus élevée) |
| N'importe quelle touche | Forcer l'actualisation de l'affichage |
Explication des champs de sortie
La sortie d'iotop contient plusieurs champs, et la signification de chaque champ est la suivante :
- TID/PID: ID de thread / ID de processus
- PRIO: priorité E/S (valeur ionice Linux)
- USER: propriétaire du processus
- DISK READ: vitesse de lecture du disque
- DISK WRITE: vitesse d'écriture du disque
- SWAPIN: pourcentage d'utilisation de l'espace d'échange
- IO>: pourcentage d'utilisation d'E/S
- COMMAND: nom du processus
Exemples d'utilisation
Exemple 1 : Surveillance de base
sudo iotop
Cela lancera une interface interactive, affichant l'activité d'E/S de tous les processus, triée par utilisation d'E/S.
Exemple 2 : Afficher uniquement les processus d'E/S actifs
sudo iotop -o
Ou appuyez surotouche après avoir exécuté iotop pour n'afficher que les processus effectuant actuellement des opérations d'E/S.
Exemple 3 : Surveiller les processus d’un utilisateur spécifique
sudo iotop -u apache
Surveiller uniquement l’activité d’E/S des processus de l’utilisateur apache.
Exemple 4 : Sortie en mode non interactif
sudo iotop -b -n 3 -d 2
Exécuter en mode non interactif, en rafraîchissant toutes les 2 secondes, et quitter après avoir affiché les résultats 3 fois.
Exemple 5 : Surveiller un processus spécifique
sudo iotop -p 1234
Surveiller uniquement l’activité d’E/S du processus avec le PID 1234.
Scénarios d'application pratiques
Scénario 1 : Identifier la cause d’un ralentissement du système
Lorsque le système devient lent à répondre, exécutez :
sudo iotop -o
Cela peut rapidement identifier quels processus lisent/écrivent intensivement sur le disque, provoquant un goulot d’étranglement d’E/S système.
Scénario 2 : Surveiller les performances de la base de données
Pour les serveurs de bases de données tels que MySQL :
sudo iotop -u mysql -o
Surveiller spécifiquement l’activité d’E/S de l’utilisateur mysql afin d’analyser la charge disque de la base de données.
Scénario 3 : Enregistrer périodiquement l'activité d'E/S
sudo iotop -b -t -n 5 -d 10 > iotop_log.txt
Consignez l'activité d'E/S toutes les 10 secondes, 5 fois au total, et enregistrez les résultats dans un fichier pour une analyse ultérieure.
Notes
- iotop nécessite que le noyau prenne en charge la fonctionnalité de comptabilisation des E/S, qui est généralement activée dans les noyaux Linux plus récents.
- Dans certains environnements virtualisés, iotop peut ne pas rapporter avec précision les statistiques d'E/S.
- Un rafraîchissement fréquent (comme des intervalles inférieurs à 1 seconde) peut affecter les performances du système.
- Les statistiques d'E/S cumulées (option -a) seront réinitialisées après un redémarrage du système.
- Pour les périphériques SSD, des temps d'attente d'E/S élevés peuvent indiquer que le périphérique a atteint sa limite de performances.
Outils alternatifs
Si iotop n'est pas disponible, envisagez les alternatives suivantes :
- dstat: outil complet de surveillance des performances, inclut les statistiques d'E/S disque
- atop: outil avancé de surveillance système, inclut les statistiques d'E/S au niveau des processus
- nmon: outil de surveillance des performances AIX/Linux
- pidstat: Fait partie de la boîte à outils sysstat, peut signaler les E/S des processus
Résumé
iotop est un outil puissant pour les administrateurs système Linux afin de surveiller l'activité d'E/S disque. Grâce à la surveillance des E/S au niveau des processus, il peut localiser rapidement les goulots d'étranglement de performances. Maîtriser l'utilisation d'iotop permet de diagnostiquer et de résoudre efficacement les problèmes de performance du système liés aux E/S disque.
Autres extensions