Introduction
La commande vmstat
permet d’obtenir sur les systèmes Unix les statistiques
sur la mémoire virtuelle (Virtual Memory). Dans cette documentation, la
commande vmstat
est étudiée sous 3 OS :
- Sun Solaris
- IBM AIX
- HP-UX
Les rapports générés par la commande vmstat
varient très fortement selon
l’OS et quelques exemples accompagnés d’une description sont donnés dans ce
document.
Dans cette documentation, il est question de pages et il est important de savoir dès à présent qu’une page correspond à 4096 bytes.
L’objectif de cette documentation ne consiste pas à traduire les man de la commande vmstat 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 vmstat.
Généralités sur la commande vmstat
Syntaxe
La syntaxe de la commande vmstat
varie fortement en fonction de l’OS
(Solaris, AIX ou HP-UX).
Syntaxe Solaris:
vmstat [ -cipsS ] [ PhysicalVolume ] [ Interval [ Count ] ]
Syntaxe IBM AIX
vmstat [ -f ] [ -i ] [ -s ] [ PhysicalVolume ... ] [ Interval [ Count ] ]
Syntaxe HP-UX
vmstat [ -dnS ] [ Interval [ Count ] ]
vmstat -f | -s | -z
Description
La commande vmstat
génère des rapports sur les process et la mémoire
virtuelle, additionnellement elle peut fournir des informations concernant les
disques (spécificité Solaris et IBM AIX) mais la commande iostat
est plus
pertinente pour l’activité sur les disques. La commande vmstat
est très utile
pour traquer des problèmes de mémoire sur un système UNIX.
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 vmstat
génère des
rapports de façon continue.
Exemple de rapport vmstat - Solaris
L’exemple ci-dessous a été obtenu avec la commande : vmstat 5
vmstat 5
procs memory page disk faults cpu r b w swap free re mf pi po fr de sr f0 s3 s6 -- in sy cs us sy id 0 0 0 2444 2040 0 26 1 4 4 0 0 0 3 0 0 31 91 41 1 4 95 0 0 0 135588 2232 0 14 0 0 0 0 0 0 0 0 0 64 27 38 0 0 100 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 70 33 43 0 2 98 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 85 101 68 2 0 98 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 69 33 37 0 6 94 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 68 36 40 0 0 100 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 67 31 36 0 0 100 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 65 43 35 1 1 98 0 0 0 135588 2232 0 102 0 0 0 0 0 0 0 0 0 82 179 65 2 5 93 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 76 52 42 0 8 92 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 107 109 68 1 1 98 0 0 0 135588 2232 0 0 0 0 0 0 0 0 0 0 0 109 110 81 1 2 97 0 0 0 135588 2232 0 232 0 0 0 0 0 0 0 0 0 78 340 61 6 10 84 0 0 0 134028 1584 0 524 0 0 0 0 0 0 0 0 0 200 540 164 38 31 31 0 0 0 133884 1356 0 66 0 0 0 0 0 0 1 0 0 201 323 167 15 12 73 0 0 0 133768 1200 0 34 0 0 0 0 0 0 0 0 0 106 179 90 15 18 67
Procs |
Les trois colonnes en dessous de l’entête procs montrent le nombre de
process dans la "run queue " (r ), le nombre de process bloqués
(b ), et le nombre de process courts ou exécutables dans la zone
d’échange (swap) (w ). |
Memory |
Les deux colonnes sous l’entête memory indiquent la quantité en bytes de
swap ou pages virtuelles accédées (swap ), et la quantité de mémoire
occupée par des pages libres ou inaccédées en Kb (free ). Dans cet
exemple, il y a environ 128K de swap, et environ 2200 Kb de mémoire libre. |
Pages |
Les sept colonnes en dessous de l’entête Page donnent des informations
concernant les pages et le comportement au niveau des pages. Ces informations
sont données en unités par seconde.
|
Disk |
Les quatres colonnes concernant l’entête disk donnent des informations sur
l’activité des disques, informations données en opérations par seconde. Il est
possible d’indiquer à la commande vmstat quels disques doivent être pris en
compte dans le monitoring (paramètre PhysicalVolume ). La commande iostat
fournit des informations plus précieuses. |
Faults |
Les trois colonnes en dessous de l’entête faults indiquent les taux moyens
d’interruption ou de piégeage dans l’intervalle de temps.
|
CPU |
Les trois colonnes sous l’entête CPU montrent l’utilisation de la CPU.
|
La commande iostat
donne des informations plus pertinentes sur la ou les
CPU(s).
Exemple de rapport vmstat - IBM AIX
L’exemple ci-dessous donne les entêtes fournies avec la commande vmstat
sous
IBM AIX.
procs memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
Procs |
Les deux colonnes en dessous de l’entête procs montrent le nombre de process
dans la "run queue/ " (r ) et le nombre de process bloqués (b ). |
Memory |
Les deux colonnes sous l’entête memory indiquent la quantité en bytes de
pages virtuelles actives (avm ), les pages étant considérées comme
actives lorsqu’elles sont accédées, et la quantité de mémoire occupée par des
pages libres ou inaccédées en Kb (free ). |
Pages |
Les six colonnes en dessous de l’entête Page donnent des informations
concernant les pages et le comportement au niveau des pages. Ces informations
sont données en unités par seconde.
|
Faults |
Les trois colonnes en dessous de l’entête faults indiquent les taux moyens
d’interruption ou de piégeage dans l’intervalle de temps.
|
CPU |
Les quatre colonnes sous l’entête CPU montrent l’utilisation de la CPU.
|
La commande iostat
indique des informations plus pertinentes sur la ou les
CPU(s).
Exemple de rapport vmstat - HP-UX
L’exemple ci-dessous donne les entêtes fournies avec la commande vmstat
sous
HP-UX.
procs memory page faults cpu
r b w avm free re at pi po fr de sr in sy cs us sy id
0 0 0 1158 511 0 0 0 0 0 0 0 111 18 7 0 0 100
Procs |
Les trois colonnes en dessous de l’entête procs montrent le nombre de
process dans la "run queue " (r ), le nombre de process bloqués
(b ), et le nombre de process courts ou exécutables dans la zone
d’échange (swap) (w ). |
Memory |
Les deux colonnes sous l’entête memory indiquent la quantité en bytes de
pages virtuelles actives (avm ), les pages étant considérées comme
actives lorsqu’elles sont accédées, et la quantité de mémoire occupée par des
pages libres ou inaccédées en Kb (free ). |
Page |
Les sept colonnes en dessous de l’entête Page donnent des informations
concernant les pages et le comportement au niveau des pages. Ces informations
sont données en unités par seconde.
|
Faults |
Les trois colonnes en dessous de l’entête faults indiquent les taux moyens
d’interruption ou de piégeage dans l’intervalle de temps.
|
CPU |
Les trois colonnes sous l’entête CPU montrent l’utilisation de la CPU.
|
La commande iostat
donne des informations plus pertinentes sur la ou les
CPU(s).
Il est possible d’obtenir sous HP-UX des informations sur les transferts E/S
sur les disques avec la commande vmstat
(vmstat -d
) mais la commande iostat
est
bien plus adaptée.