Commande Linux iostat
Encyclopédie des commandes Linux
1. Aperçu de la commande iostat
iostat (Statistiques d'entrée/sortie) est un puissant outil de surveillance des performances sur les systèmes Linux et fait partie du paquet sysstat. Il est principalement utilisé pour surveiller l'activité d'E/S du disque système et l'utilisation du processeur.
1.1 Fonctions de base
- Surveiller la vitesse de lecture/écriture des E/S du disque système
- Afficher l'utilisation du processeur
- Résumer la charge des périphériques
- Identifier les goulets d'étranglement de performance d'E/S
1.2 Scénarios d'application typiques
- Optimisation des performances du serveur
- Analyse des performances des périphériques de stockage
- Dépannage des goulets d'étranglement système
- Planification des capacités
2. Installation et utilisation de base
2.1 Méthodes d'installation
La plupart des distributions Linux n'installent pas iostat par défaut ; vous devez d'abord installer le paquet sysstat :
Exemple
sudo apt-get install sysstat
# CentOS/RHEL
sudo yum install sysstat
# Fedora
sudo dnf install sysstat
2.2 Format de base de la commande
Exemple
Exemple simple
Exemple
iostat
# Rafraîchir toutes les 2 secondes, afficher 5 fois au total
iostat 2 5
3. Options détaillées de la commande
3.1 Options courantes
| Option | Description |
|---|---|
| -c | Afficher uniquement l'utilisation du CPU |
| -d | Afficher uniquement l'utilisation du disque |
| -h | Afficher dans un format lisible par l'homme (par exemple, KB, MB, GB) |
| -k | Afficher les données en KB |
| -m | Afficher les données en MB |
| -N | Afficher les noms de mappage des périphériques |
| -p | Afficher les statistiques pour un périphérique ou une partition spécifiés |
| -t | Afficher l’horodatage |
| -x | Afficher les statistiques étendues |
| -y | Ignorer le premier rapport (généralement utilisé avec un intervalle) |
3.2 Options avancées
| Option | Description |
|---|---|
| -z | Omettre la sortie pour les périphériques sans activité |
| -j ID | Afficher les noms persistants pour les périphériques spécifiés |
| --dec={0|1|2} | Spécifier le nombre de décimales |
4. Interprétation des résultats de sortie
4.1 Section des statistiques CPU
avg-cpu: %user %nice %system %iowait %steal %idle
5.32 0.00 1.06 0.25 0.00 93.37
- %user: Utilisation CPU au niveau utilisateur (application)
- %nice: Utilisation CPU des processus à priorité ajustée
- %system: Utilisation CPU au niveau système (noyau)
- %iowait: Pourcentage de temps pendant lequel le CPU attend la fin des opérations d'E/S
- %steal: Temps « volé » dans les environnements virtuels
- %idle: Pourcentage de temps d'inactivité du CPU
4.2 Section des statistiques de disque (de base)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 1.02 12.34 5.67 1234567 567890
- tps: Transferts par seconde
- kB_read/s: Quantité de données lues par seconde (KB)
- kB_wrtn/s: Quantité de données écrites par seconde (KB)
- kB_read: Quantité totale de données lues (KB)
- kB_wrtn: Quantité totale de données écrites (KB)
4.3 Statistiques étendues (option -x)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.50 1.00 0.50 12.00 4.00 21.33 0.02 10.00 8.00 14.00 6.00 0.90
- rrqm/s: Nombre de requêtes de lecture fusionnées par seconde
- wrqm/s: Nombre de requêtes d'écriture fusionnées par seconde
- r/s: Nombre d'opérations d'E/S de lecture terminées par seconde
- w/s: Nombre d'opérations d'E/S d'écriture terminées par seconde
- rkB/s: KB lus par seconde
- wkB/s: KB écrits par seconde
- avgrq-sz: Taille moyenne des données par opération d'E/S (secteurs)
- avgqu-sz: Longueur moyenne de la file d'attente d'E/S
- await: Temps d'attente moyen par opération d'E/S (millisecondes)
- r_await: Temps d'attente moyen pour les opérations de lecture (millisecondes)
- w_await: Temps d'attente moyen pour les opérations d'écriture (millisecondes)
- svctm: Temps de service moyen par opération d'E/S (millisecondes)
- %util: Pourcentage d'utilisation de la bande passante du périphérique
5. Analyse d'un exemple pratique
5.1 Surveiller un disque spécifique
Exemple
iostat -d -x sda 2 3
5.2 Surveillance complète du CPU et du disque
Exemple
iostat -c -d -x -t 5
5.3 Afficher en MB
Exemple
iostat -d -m
5.4 Surveiller toutes les partitions
Exemple
iostat -p ALL
6. Interprétation des métriques de performance et suggestions d'optimisation
6.1 Métriques de performance clés
%util: Utilisation du périphérique
80% indique que le périphérique approche de la saturation
- Un 100% soutenu indique que le périphérique est devenu un goulot d'étranglement
await: Temps d'attente des E/S
- Devrait normalement être < 10ms
50ms indique d'éventuels problèmes de performance
avgqu-sz: Longueur de file d'attente
> 1 indique que le périphérique peut être surchargé
6.2 Diagnostic des problèmes courants
Problème 1 : %util élevé mais débit faible
- Cause possible : E/S aléatoires excessives
- Solution : Optimiser le modèle d'E/S de l'application, envisager d'utiliser des SSD
Problème 2 : await élevé mais %util faible
- Cause possible : Goulot d'étranglement du contrôleur ou du bus
- Solution : Vérifier la carte HBA ou le contrôleur de stockage
Problème 3 : rkB/s ou wkB/s anormalement élevés
- Cause possible : Applications effectuant des lectures/écritures intensives
- Solution : Optimiser l'application ou augmenter le cache
7. Intégration avec d'autres outils
7.1 Combinaison avec vmstat
Exemple
vmstat 1 5 & iostat -x 1 5
7.2 Combinaison avec sar
Exemple
sar -d
7.3 Combinaison avec iotop
Exemple
iotop
8. Résumé et bonnes pratiques
8.1 Recommandations d'utilisation
- Dans la surveillance d'un environnement de production, il est recommandé d'utiliser l'option -x pour obtenir des données détaillées
- Pour une surveillance à long terme, utilisez sar pour collecter des données historiques
- Lors de l'analyse des problèmes de performance, faites attention à la fois aux données CPU et E/S
- Comparer les statistiques de différentes périodes est plus pertinent
8.2 Combinaisons de commandes courantes
Exemple
iostat -c -d -x -t -m 5
# Surveiller uniquement les informations étendues du disque
iostat -d -x 2
# Surveiller une partition spécifique
iostat -p sda1 -x 1 10
En maîtrisant la commande iostat, les administrateurs système peuvent surveiller et analyser efficacement les performances d'E/S des systèmes Linux et détecter et résoudre rapidement les goulots d'étranglement de performance liés au stockage.
Autres extensions