Commande Linux iostat

Linux 命令大全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

# Ubuntu/Debian
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

iostat [Options] [Intervalle] [Nombre]

Exemple simple

Exemple

# Afficher une fois les statistiques de tous les périphériques
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

# Surveiller le disque sda, actualiser toutes les 2 secondes, afficher 3 fois au total
iostat -d -x sda 2 3

5.2 Surveillance complète du CPU et du disque

Exemple

# Surveiller le CPU et le disque, actualiser toutes les 5 secondes, afficher en continu
iostat -c -d -x -t 5

5.3 Afficher en MB

Exemple

# Afficher les statistiques du disque en MB
iostat -d -m

5.4 Surveiller toutes les partitions

Exemple

# Surveiller toutes les partitions, y compris LVM
iostat -p ALL

6. Interprétation des métriques de performance et suggestions d'optimisation

6.1 Métriques de performance clés

  1. %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
  2. await: Temps d'attente des E/S

    • Devrait normalement être < 10ms
    • 50ms indique d'éventuels problèmes de performance

  3. 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

# Surveiller simultanément la mémoire et les E/S
vmstat 1 5 & iostat -x 1 5

7.2 Combinaison avec sar

Exemple

# Afficher les données d'E/S historiques
sar -d

7.3 Combinaison avec iotop

Exemple

# Identifier les processus spécifiques à forte E/S
iotop

8. Résumé et bonnes pratiques

8.1 Recommandations d'utilisation

  1. Dans la surveillance d'un environnement de production, il est recommandé d'utiliser l'option -x pour obtenir des données détaillées
  2. Pour une surveillance à long terme, utilisez sar pour collecter des données historiques
  3. Lors de l'analyse des problèmes de performance, faites attention à la fois aux données CPU et E/S
  4. Comparer les statistiques de différentes périodes est plus pertinent

8.2 Combinaisons de commandes courantes

Exemple

# Commande de surveillance complète
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.

Linux 命令大全Encyclopédie des commandes Linux

Autres extensions