Introduction
La commande iostat
permet très généralement d’obtenir sur les systèmes Unix
les statistiques sur la CPU et les E/S. Dans cette documentation, la commande
iostat
est étudiée sous 3 OS :
- Sun Solaris
- IBM AIX
- HP-UX
Les rapports générés par la commande iostat
varient très fortement selon
l’OS et quelques exemples accompagnés d’une description sont donnés dans ce
document.
L’objectif de cette documentation ne consiste pas à traduire les man de la
commande iostat
sous les OS Solaris, IBM AIX, et HP-UX mais plutôt à travers
des exemples concrets d’être capable de déchiffrer les résultats renvoyés par
la commande iostat.
Généralités sur la commande iostat
Syntaxe
La syntaxe de la commande iostat
varie fortement en fonction de l’OS
(Solaris, AIX ou HP-UX).
Syntaxe Solaris :
iostat [ -cdDeEIMnpPtx ] [ -l n ] [PhysicalVolume ... ]
[ Interval [Count] ]
Syntaxe IBM AIX :
iostat [ -d ] [ -t ] [ PhysicalVolume ...] [ Interval [Count] ]
Syntaxe HP-UX :
iostat [-t] [ Interval [Count] ]
Description
La commande iostat
génère des rapports qui s’avèrent très pertinents pour
décider de changer la configuration du système afin d’améliorer les E/S.
Le premier rapport généré par la commande iostat
fournit les statistiques
E/S depuis le démarrage du système. Chaque rapport suivant affiche les
statistiques E/S pendant la période écoulée depuis le rapport précédent.
Sur les systèmes multiprocesseurs, les statistiques sur la CPU sont calculées sous la forme de moyennes sur les processeurs.
Paramètre PhysicalVolume (Solaris et IBM AIX)
Si le paramètre PhysicalVolume
(cf syntaxe) est spécifié,
seules les statistiques pour les disques souhaités sont affichées.
Si le paramère PhysicalVolume
(cf syntaxe) est spécifié, un
ou plusieurs volumes physiques (alphabétiques ou alphanumériques) peuvent être
demandés explicitement dans le rapport. Le premier caractère du paramètre
PhysicalVolume
ne peut être numérique. Lorsqu’un nom de lecteur
logique n’est pas trouvé, le message Drive Not Found
est affiché dans le
rapport. Si aucun nom de lecteurs logiques n’est spécifié, les statistiques sur
tous les disques configurés et les CD-ROMs sont affichées.
Paramètres Interval et Count (Solaris, IBM AIX et HP-UX)
Le paramètre Interval
permet de spécifier le temps en secondes entre chaque
rapport. Le paramètre Count
peut être combiné avec le paramètre Interval
, ce
dernier paramètre permet de spécifier le nombre de rapports à générer. Si le
paramètre Interval
est spécifié sans le paramètre Count
, la commande iostat
génère des rapports de façon continue.
La commande iostat
est très utile pour traquer un goulet d’étranglement sur
un volume physique.
Spécifités de la commande iostat sous Solaris
La commande iostat
dispose d’un nombre important de paramètres sous Solaris
par rapport aux OS AIX et HP-UX.
iostat [ -cdDeEIMnpPtx ] [ -l n ] [PhysicalVolume ... ]
[ Interval [Count] ]
Sans option, iostat
sous Solaris affiche les statistiques des E/S disques,
de(s) CPU(s) et des terminaux (tty
), en réalité :
iostat <=> iostat -tdc
Pour plus d’informations sur les autres options, se reporter au man de la
commande iostat
.
Spécifités de la commande iostat sous IBM AIX
iostat [ -d ] [ -t ] [ PhysicalVolume ...] [
Interval [Count] ]
Les options -d
et -t
sont exclusifs sous AIX, il est impossible de combiner
ces deux options. Sans une de ces options, toutes le statistiques sont
affichées : disques, CPU et terminaux (tty).
L’option -d
affiche uniquement les statistiques E/S sur les disques.
L’option -t
affiche uniquement les statistiques CPU et terminaux (tty
).
Spécifités de la commande iostat sous HP-UX
iostat [-t] [ Interval [Count] ]
Sans option, iostat
sous HP-UX n’affiche que les statistiques E/S sur les
disques.
L’option -t
permet d’ajouter à l’affichage les statistiques sur la CPU et
les terminaux (tty
).
Exemples de rapports iostat - Solaris
Exemple Solaris n°1
L’exemple ci-dessous a été obtenu avec la commande iostat 2
iostat 2
sd4 sd5 sd8 sd9 sd10 rps wps util rps wps util rps wps util rps wps util rps wps util 0 0 1.1 0 0 1.1 0 0 1.0 0 0 1.2 0 2 3.5 8 0 23.2 10 0 23.3 7 0 17.8 7 0 17.2 0 17 21.1 5 0 14.6 5 0 13.7 9 0 20.8 9 0 23.6 0 17 22.4 7 0 17.7 7 0 18.6 8 0 18.8 7 0 20.0 0 18 21.9 7 0 18.3 7 0 17.7 7 0 16.5 7 0 18.7 0 18 23.8 8 0 21.3 7 0 16.8 6 0 14.0 6 0 17.2 0 17 20.7 5 5 26.6 4 7 26.2 5 6 27.1 4 6 25.5 0 12 16.3 5 22 69.5 5 17 52.0 3 18 51.8 6 19 66.5 0 13 19.0 6 0 14.7 7 0 18.7 8 0 19.4 5 0 13.8 0 17 22.4 5 0 14.8 6 0 15.9 6 0 15.3 8 0 20.8 0 18 41.5 3 18 57.6 5 16 49.6 4 15 46.6 5 16 56.6 0 12 17.4 5 9 38.3 6 9 35.1 6 9 37.7 5 10 40.6 0 15 19.8 8 0 21.3 5 0 12.9 7 0 17.2 7 0 19.7 0 17 23.0 6 7 35.8 6 9 34.9 4 8 29.7 6 7 32.2 0 14 21.3 5 13 46.7 4 12 39.5 6 12 41.3 5 15 55.1 0 15 19.8
Statistiques disques
rps
: lectures par secondewps
: écritures par secondeutil
: pourcentage d’utilisation des disques
Dans cet exemple, les accès aux disques sont répartis sur les 4 disques. Une
très haute valeur (> 80%) du pourcentage d’utilisation d’un disque permet de
suggérer l’ajout de disques. Beaucoup d’intervalles présentent une valeur 0
pour le nombre d’écritures suivis d’intervalles où les écritures sont
réalisées. L’ajout de l’option -c
permettrait d’inclure les statistiques sur la
CPU.
Exemple Solaris n°2
L’exemple ci-dessous a été obtenu avec la commande iostat -xtc 5
iostat -xtc 5
extended disk statistics tty cpu disk r/s w/s Kr/s Kw/s wait actv svc_t %w %b tin tout us sy wt id fd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 72 0 1 0 99 sd3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 sd6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 extended disk statistics tty cpu disk r/s w/s Kr/s Kw/s wait actv svc_t %w %b tin tout us sy wt id fd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 73 0 2 0 98 sd3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 sd6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
Statistiques disques |
|
Statistiques tty |
|
Statistiques CPU |
|
Exemple de rapport iostat - IBM AIX
L’exemple ci-dessous a été obtenu avec la commande iostat 5
iostat 5
tty: tin tout cpu: % user % sys % idle % iowait 0.3 26.9 9.6 3.4 85.6 1.4 Disks: % tm_act Kbps tps msps Kb_read Kb_wrtn hdisk0 0.2 0.9 0.1 42253 459672 hdisk1 2.4 2.9 1.3 81008 1610432 cd0 0.0 0.0 0.0 0 0 tty: tin tout cpu: % user % sys % idle % iowait 0.0 88.6 0.0 1.4 81.4 17.2 Disks: % tm_act Kbps tps msps Kb_read Kb_wrtn hdisk0 5.0 12.0 2.6 0 60 hdisk1 15.6 92.6 9.4 0 464 cd0 0.0 0.0 0.0 0 0
Avec IBM AIX, utiliser l’option -t
pour afficher uniquement les statistiques
sur les terminaux (tty
) et utiliser l’option -d
pour afficher uniquement les
statistiques E/S sur les disques.
Statistiques tty |
|
Statistiques CPU |
|
Statistiques disques |
|
Exemples de rapports iostats - HP-UX
Exemple HP-UX n°1
L’exemple ci-dessous a été obtenu avec la commande iostat 5
iostat 5
/dev/*dsk/c2010d*s* /dev/*dsk/c2011d*s* /dev/*dsk/c2012d*s* /dev/*dsk/c2015d*s* bps sps msps bps sps msps bps sps msps bps sps msps 2 0.3 0.0 0 0.0 0.0 0 0.0 0.0 3 0.2 0.0 0 0.0 0.0 0 0.0 0.0 0 0.0 0.0 5 0.8 0.0
Les statistiques sont affichés pour tous les disques. A titre de rappel, il n’est pas possible de spécifier un jeu de disques sous HP-UX.
Pour chaque disque, iostat
affiche sous HP-UX les KB transférés par seconde
(bps
), le nombre de recherches par seconde (sps
) et la moyenne du temps de
recherche.
Exemple HP-UX n°2
L’option -t
engendre l’affichage dans la sortie des statistiques sur les
terminaux (tty
) et les CPU :
iostat -t 10
tty cpu tin tout us ni sy id 0 6 3 0 1 96 /dev/*dsk/c2010d*s* /dev/*dsk/c2011d*s* /dev/*dsk/c2012d*s* /dev/*dsk/c2015d*s* bps sps msps bps sps msps bps sps msps bps sps msps 2 0.3 0.0 0 0.0 0.0 0 0.0 0.0 3 0.2 0.0 tty cpu tin tout us ni sy id 0 29 0 0 0 100 /dev/*dsk/c2010d*s* /dev/*dsk/c2011d*s* /dev/*dsk/c2012d*s* /dev/*dsk/c2015d*s* bps sps msps bps sps msps bps sps msps bps sps msps 0 0.0 0.0 0 0.0 0.0 0 0.0 0.0 0 0.0 0.0
Statistiques tty |
|
Statistiques CPU |
|