Identification des ressources limitant les performances
Le meilleur outil permettant d'avoir un aperçu global de l'utilisation des ressources lors de l'exécution d'une charge de travail multiutilisateur est la commande vmstat.
# vmstat 5Dans l'exemple ci-dessus, étant donné qu'aucun nombre n'est spécifié après l'intervalle, le rapport continue jusqu'à ce que vous annuliez la commande.
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 8793 81 0 0 0 1 7 0 125 42 30 1 2 95 2
0 0 8793 80 0 0 0 0 0 0 155 113 79 14 8 78 0
0 0 8793 57 0 3 0 0 0 0 178 28 69 1 12 81 6
0 0 9192 66 0 0 16 81 167 0 151 32 34 1 6 77 16
0 0 9193 65 0 0 0 0 0 0 117 29 26 1 3 96 0
0 0 9193 65 0 0 0 0 0 0 120 30 31 1 3 95 0
0 0 9693 69 0 0 53 100 216 0 168 27 57 1 4 63 33
0 0 9693 69 0 0 0 0 0 0 134 96 60 12 4 84 0
0 0 10193 57 0 0 0 0 0 0 124 29 32 1 3 94 2
0 0 11194 64 0 0 38 201 1080 0 168 29 57 2 8 62 29
0 0 11194 63 0 0 0 0 0 0 141 111 65 12 7 81 0
0 0 5480 755 3 1 0 0 0 0 154 107 71 13 8 78 2
0 0 5467 5747 0 3 0 0 0 0 167 39 68 1 16 79 5
0 1 4797 5821 0 21 0 0 0 0 191 192 125 20 5 42 33
0 1 3778 6119 0 24 0 0 0 0 188 170 98 5 8 41 46
0 0 3751 6139 0 0 0 0 0 0 145 24 54 1 10 89 0Dans cette évaluation initiale, prêtez une attention particulière aux colonnes pi et po de lapageet les quatre colonnes de lacpucatégorie.
Les entrées pi et po représentent respectivement les entrées et sorties de page de l'espace de pagination. Si vous observez des instances d'E-S d'espace de pagination, la charge de travail peut approcher ou dépasser les limites de mémoire du système.
Si la somme des pourcentages d'utilisation de l'unité centrale de l'utilisateur et du système, us et sy est supérieure à 90 % dans un intervalle donné de 5 secondes, la charge de travail approche les limites d'UC du système pendant cet intervalle.
Si le pourcentage d'attente d'E-S, wa, est proche de zéro et que les valeurs pi et po sont égales à zéro, le système passe du temps à attendre des entrées-sorties de fichier non chevauchées et une partie de la charge de travail est limitée en E-S.
Si la commande vmstat indique un temps d'attente d'E-S important, utilisez la commande iostat pour collecter des informations plus détaillées.
# iostat 5 3Le rapport iostat suivant a été créé sur un système exécutant la même charge de travail que celle de l'exemple vmstat ci-dessus, mais à un autre moment. Le premier rapport représente l'activité cumulée depuis le démarrage précédent, tandis que les rapports suivants représentent l'activité au cours de l'intervalle de 5 secondes précédent :
tty: tin tout avg-cpu: % user % sys % idle %iowait
0.0 4.3 0.2 0.6 98.8 0.4
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 0.0 0.2 0.0 7993 4408
hdisk1 0.0 0.0 0.0 2179 1692
hdisk2 0.4 1.5 0.3 67548 59151
cd0 0.0 0.0 0.0 0 0
tty: tin tout avg-cpu: % user % sys % idle %iowait
0.0 30.3 8.8 7.2 83.9 0.2
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 0.2 0.8 0.2 4 0
hdisk1 0.0 0.0 0.0 0 0
hdisk2 0.0 0.0 0.0 0 0
cd0 0.0 0.0 0.0 0 0
tty: tin tout avg-cpu: % user % sys % idle %iowait
0.0 8.4 0.2 5.8 0.0 93.8
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 0.0 0.0 0.0 0 0
hdisk1 0.0 0.0 0.0 0 0
hdisk2 98.4 575.6 61.9 396 2488
cd0 0.0 0.0 0.0 0 0
Le premier rapport montre que les E-S de ce système sont déséquilibrées. La plupart des entrées-sorties (86.9 pour cent des kilooctets lus et 90.7 pour cent des kilooctets écrits) vont àhdisk2, qui contient à la fois le système d'exploitation et l'espace de pagination. Les statistiques cumulées de l'utilisation de l'unité centrale depuis le démarrage n'a généralement aucune signification, à moins que vous n'utilisiez le système de façon constante, 24 heures sur 24.
Le second rapport affiche une petite quantité d'activité de disque à partir dehdisk0, qui contient un système de fichiers distinct pour l'utilisateur principal du système. L'activité de l'unité centrale provient de deux programmes d'application et de la commande iostat elle-même.
Dans le troisième rapport, vous pouvez voir que nous avons créé artificiellement une condition de quasi-défaillance en exécutant un programme qui alloue et stocke une grande quantité de mémoire, soit environ 26 Mo dans l'exemple ci-dessus. Dans l'exemple ci-dessus également,hdisk2est actif 98.4 % du temps, ce qui entraîne une attente d'E-S de 93.8 %.