Nous pouvons utiliser la commande htop pour voir une liste de tous les processus en cours d'exécution de notre serveur Linux. Mais que se passe-t-il si nous voulons surveiller la quantité de bande passante disque que chacun de ces processus consomme? Eh bien, nous pouvons utiliser iotop.
iotop est un outil interactif de surveillance des E/S sur Linux tout comme htop. Avec iotop, vous pouvez facilement surveiller l'utilisation de la bande passante en lecture et en écriture sur le disque pour chaque exécution traitée sur Linux.
Dans cet article, je vais vous montrer comment installer iotop sur les distributions Linux populaires et comment utiliser iotop pour surveiller l'utilisation de la bande passante en lecture et en écriture par processus en cours d'exécution. Je vais utiliser Ubuntu 18.04 LTS pour la démonstration, mais les mêmes commandes devraient fonctionner sur toutes les distributions Linux modernes. Alors, commençons.
Installer iotop sur Ubuntu :
iotop est disponible dans le référentiel de packages officiel d'Ubuntu. Ainsi, vous pouvez facilement télécharger iotop en utilisant le gestionnaire de packages APT.
Tout d'abord, mettez à jour le cache du référentiel de packages APT avec la commande suivante :
$ sudo apt mise à jour
Maintenant, installez iotop avec la commande suivante :
$ sudo apt installer iotop
iotop doit être installé.
Maintenant, vérifiez si iotop fonctionne avec la commande suivante :
$ iotop --versioniotop fonctionne comme vous pouvez le voir.
Installation d'iotop sur CentOS 7 :
iotop est disponible dans le référentiel de packages officiel de CentOS 7. Vous pouvez facilement l'installer avec le gestionnaire de packages YUM comme suit :
$ sudo yum install iotop -y
Utilisation de base d'iotop :
Pour surveiller l'utilisation du disque de chaque processus en cours d'exécution avec iotop, exécutez iotop comme suit :
$ sudo iotop
Comme vous pouvez le voir, la fenêtre interactive iotop s'ouvre. Ici, vous pouvez voir quel processus utilise le disque.
Comme vous pouvez le voir sur la capture d'écran ci-dessous, en haut à gauche, la vitesse/bande passante totale de lecture du disque est affichée. De la même manière, en haut à droite, la vitesse d'écriture/la bande passante totale du disque est affichée.
Comme vous pouvez le voir, iotop affiche des colonnes pour,
- ID de fil (TID).
- Classe/niveau de priorité d'E/S (PRIO).
- le propriétaire du thread avec TID (UTILISATEUR).
- le disque lu par seconde (DISQUE LECTURE).
- l'écriture du disque par seconde (ÉCRITURE SUR DISQUE).
- le pourcentage de temps que le thread a passé lors de l'échange (ÉCHANGER).
- le pourcentage de temps que le thread a passé à attendre les E/S (OI>).
- la commande que le thread exécute (COMMANDER).
Dans la plupart des cas, l'ID de thread (TID) est équivalent à l'ID de processus (PID).
Affichage des processus effectuant des opérations d'E/S uniquement :
Par défaut, iotop affiche tous les processus en cours, qu'ils effectuent ou non des opérations d'E/S. Donc la liste est très longue. Il est plus difficile de trouver les processus dont nous avons besoin et de les surveiller.
Heureusement, iotop vous permet d'afficher uniquement les processus qui effectuent des opérations d'E/S. Pour ce faire, vous pouvez utiliser le -o ou alors -seul option d'iotop.
Pour afficher uniquement les processus effectuant des opérations d'E/S, exécutez iotop comme suit :
$ sudo iotop -oOu alors
$ sudo iotop --seulement
Comme vous pouvez le voir, le processus avec TID 1345 et 1957 effectue actuellement des opérations d'E/S.
C'est la commande que j'exécute pour simuler les opérations d'E/S dans cet article.
$ dd if=/dev/urandom of=iotest.img bs=1M compte=1000
REMARQUE: Si vous n'avez pas démarré iotop avec le -o ou alors -seul option, vous pouvez toujours basculer dans ce mode en appuyant sur la o touche de ton clavier. Vous pouvez basculer entre ces 2 modes d'iotop en utilisant le o clé.
Affichage de l'utilisation totale des E/S par processus :
iotop vous permet également de surveiller le nombre de lectures et d'écritures sur disque au total que chaque processus a effectuées après le démarrage d'iotop. Pour ce faire, vous devez utiliser le -une ou alors -accumulé option. Vous pouvez également l'utiliser avec le -o ou alors -seul option aussi.
Par example,
$ sudo iotop -aoComme vous pouvez le voir, le nombre total de lectures de disque et d'écritures de disque par processus est affiché.
Affichage du PID au lieu du TID :
Comme je l'ai dit précédemment, l'ID de thread (TID) est le même que l'ID de processus (PID) la plupart du temps. Vous pouvez les utiliser indifféremment. Mais si vous voulez vraiment être sûr que vous travaillez avec exactement l'ID de processus (PID), alors iotop a le -P ou alors -processus option que vous pouvez utiliser pour changer la colonne TID par défaut en colonne PID.
Pour afficher la colonne PID au lieu de la colonne TID, exécutez iotop comme suit :
$ sudo iotop -POu alors
$ sudo iotop --processes
Comme vous pouvez le voir, la colonne TID est remplacée par la colonne PID.
Filtrage des processus iotop :
Vous pouvez filtrer les processus iotop en fonction de l'ID de processus (PID), de l'ID de thread (TID) et du propriétaire traité (USER).
Par exemple, si vous souhaitez surveiller les E/S disque des processus avec les PID 2024 et 2035 uniquement, vous devez exécuter iotop comme suit :
$ sudo iotop -P -p 2024 -p 2035
Comme vous pouvez le voir, seuls les processus avec les PID 2024 et 2035 sont surveillés.
Si vous souhaitez surveiller les E/S disque des threads avec les TID 2024 et 2035 uniquement, vous devez exécuter iotop comme suit :
$ sudo iotop -P -p 2024 -p 2035Encore une fois, disons que vous voulez surveiller les E/S disque des processus exécutés en tant qu'utilisateur shovon. Pour ce faire, exécutez iotop comme suit :
$ sudo iotop -P -u shovon
Comme vous pouvez le voir, seuls les processus exécutés en tant qu'utilisateur shovon est affiché.
Si vous souhaitez surveiller plusieurs utilisateurs à la fois, vous pouvez également le faire.
Par exemple, pour surveiller les E/S disque de tous les processus que les utilisateurs shovon et lis sont en cours d'exécution, exécutez iotop comme suit :
$ sudo iotop -P -u shovon -u lisDonc, c'est essentiellement comment vous utilisez iotop pour surveiller les E/S de disque sous Linux. Merci d'avoir lu cet article.