Identifiez les goulots d'étranglement du disque dur avec ces 5 commandes Linux
La vitesse à laquelle votre ordinateur Linux peut déplacer les données entre ses disques durs et sa RAM a un impact direct sur ses performances. Ces cinq commandes vous aideront à résoudre les problèmes de ralentissement et de bégaiement.
Sommaire
Travailler dur ou travailler à peine ? Cinq façons de le savoir
À partir du moment où votre ordinateur démarre et pendant qu'il est opérationnel, il doit lire et écrire sur vos disques durs.
Vos disques ont un débit de données maximum. Il y a une limite à la vitesse à laquelle ils peuvent lire et écrire des données. Cela signifie que le démarrage, le chargement de programmes et d'utilitaires et la sauvegarde de données telles que des documents, des paramètres et des téléchargements sont tous limités par les limitations intégrées de vos disques durs.
Les disques modernes sont conçus pour être rapides, en particulier les disques SSD, mais même les disques les plus rapides peuvent avoir un retard dans les demandes de données si trop de processus tentent d'y accéder en même temps.
Si votre PC fonctionne avec du retard avec des ralentissements intermittents, ou connaît des périodes où il semble nerveux et hésitant, utilisez ces cinq commandes pour voir si vous avez rencontré un goulot d'étranglement sur le disque dur.
Mesurer les statistiques d'E/S avec iostat
La commande iostat fait partie du package sysstat. Sur les ordinateurs Ubuntu 24.10, le dernier Manjaro et Fedora Linux 40 que nous avons testés, iostat était déjà installé. Si vous ne l'avez pas installé, recherchez le package sysstat dans les référentiels de votre distribution.
L'invocation la plus simple est la commande iostat sans aucune option.
iostat
Si vous êtes intéressé par un seul disque, utilisez l'option -p (périphériques et partitions) et indiquez le nom de périphérique du disque dur. Vous pouvez également obtenir les statistiques en mégaoctets par seconde en utilisant l'option -m (mégaoctets).
iostat -m -p sda
Le rapport contient des statistiques sur le disque dur et ses partitions. Pour créer un rapport sur une seule partition, ajoutez le numéro de partition à l'identifiant du disque dur.
iostat -m -p sda2
Les rapports contiennent une ligne d'informations sur le processeur, puis les détails des périphériques sélectionnés.
Pour cet exercice, les valeurs CPU sur lesquelles se concentrer sont les chiffres %iowait et %idle. Le chiffre %iowait montre le pourcentage de temps (depuis le démarrage) pendant lequel le processeur s'est tourné les doigts en attendant que les requêtes d'entrée/sortie du disque dur soient traitées, afin de pouvoir continuer.
La statistique %idle est le pourcentage de temps écoulé depuis le démarrage, lorsque le processeur était inactif et il n’y avait aucune demande d’entrée/sortie de disque en attente.
Idéalement, le chiffre %iowait devrait être aussi bas que possible. Cette machine connaît de grandes difficultés en raison des performances du disque dur et du nombre de requêtes d'entrée-sortie. Nous pouvons obtenir plus de détails en examinant les informations sur le périphérique et la partition. Nous pouvons voir que de nombreuses requêtes d'écriture sont gérées par cette partition.
Une vue en temps réel : dstat
Le développement du package dstat d'origine s'est arrêté il y a plusieurs années. Il a été réécrit et mis à jour en tant que composant du package Performance Co-Pilot. Vous devrez installer ce package.
Sur Ubuntu, la commande est :
sudo apt install pcp
Un Fedora, tapez :
sudo dnf install pcp pcp-system-tools
Sur Manjaro, utilisez cette commande :
sudo pacman -S pcp
Nous allons démarrer dstat et utiliser l'option -D (lecteurs) afin de pouvoir nous concentrer sur notre premier lecteur, sda.
dstat -D sda
Une nouvelle ligne d’informations est ajoutée à l’écran toutes les demi-secondes environ. Nous pouvons constater qu'il y a un temps d'attente inquiétant, comme auparavant, et beaucoup d'activités de lecture et d'écriture.
Étant donné que le rapport est mis à jour au fur et à mesure que vous le regardez, vous pouvez voir s'il s'agit d'une demande à court terme, intermittente ou soutenue sur votre disque dur. Appuyez sur Ctrl+C pour arrêter la commande.
Découvrez la latence E/S avec ioping
Sauf si vous l'avez déjà fait, vous devrez probablement installer ioping.
Sur Ubuntu, utilisez cette commande :
sudo apt install ioping
Sur Fedora, la commande est :
sudo dnf install ioping
Sur Manjaro, vous devez taper :
sudo pacman -s ioping
Comme l'outil réseau ping, ioping renvoie une statistique de synchronisation. Il effectue une demande de disque dur et indique le temps qu'il a fallu pour que cette demande soit reconnue. Le délai avant que le disque dur ne réponde est la latence d'entrée/sortie. Vous voulez que ce soit aussi bas que possible.
Vous devrez utiliser sudo, car ioping lit directement les fichiers de périphérique associés aux périphériques matériels. Ceci concerne le premier disque dur de notre ordinateur de test. Vous pouvez spécifier une partition particulière si vous le souhaitez, en ajoutant le numéro de partition, comme sda1.
sudo ioping /dev/sda
L’exécution de la même commande sur le même ordinateur sans les processus qui martèlent le disque dur a signalé une latence inférieure à 7 ms. Les processus qui bombardent le disque dur ralentissent les temps de réponse jusqu'à 10 fois.
Pour arrêter la commande, appuyez sur Ctrl+C. Vous verrez un bref résumé de la session.
Comme le top Pour les disques durs : iotop
Encore une fois, il est peu probable que iotop soit sur votre ordinateur à moins que vous ne l'ayez préalablement installé manuellement.
Pour installer iotop sur Ubuntu, la commande est :
sudo apt install iotop
Sur Fedora, votre commande est :
sudo dnf install iotop
Les utilisateurs de Manjaro doivent taper :
sudo pacman -S iotop
La commande iotop lit les informations directement à partir d'une API du noyau réservée aux utilisateurs root. Vous devez donc utiliser sudo pour lancer la commande.
iotop
Il a quelque chose de l’apparence et de la sensation du commandement supérieur habituel. Il y a un tableau de bord d'informations en haut de l'écran et un affichage dynamique des processus en dessous, triés par colonne d'écriture sur disque. Les touches fléchées gauche et droite modifient la colonne selon laquelle l'affichage est trié.
On voit tout de suite qu'il y a trois commandes cp qui génèrent la majorité de l'activité du disque dur. Utilement, nous voyons également le nom de l'utilisateur qui possède ces processus lourds en écriture, ainsi que la commande qu'il a émise pour les lancer.
Appuyer sur Q ferme l'application.
Comme en haut Pour les périphériques matériels : en haut
La commande atop est un autre outil de premier plan, mais dédié aux rapports sur le matériel.
Pour installer sur Ubuntu, la commande est la suivante :
sudo apt install atop
Sur Fedora, votre commande est :
sudo dnf install atop
Les utilisateurs de Manjaro doivent taper :
sudo pacman -S atop
La première fois que vous voyez le sommet, cela peut être un choc : il y a tellement d'informations qui réclament votre attention. Cela ressemble à un haut vraiment lourd. Vous pouvez commencer avec ou sans sudo, mais vous obtenez un affichage plus riche et plus précis si vous utilisez sudo.
sudo atop
Nous pouvons voir que le disque dur est utilisé 90 % du temps, ce qui est un sérieux signal d’alarme.
Lire le fabuleux manuel
Toutes ces commandes vous fournissent un riche ensemble d'informations et d'options, ce qui les rend très flexibles et utiles pour le dépannage. Nous vous encourageons fortement à lire les pages de manuel des commandes que vous pensez utiliser afin de ne manquer aucune fonctionnalité intéressante.