vmstat
Cette commande fournit des statistiques multiples sur le système. La commande vmstat retourne des statistiques sur les unités d'exécution du noyau dans les files d'exécution et d'attente, sur la pagination de mémoire, les interruptions, les appels système, les commutateurs de contexte et l'activité de l'UC.
L'activité de l'UC est la ventilation exprimée en pourcentages correspondant au mode utilisateur, au mode système, au temps d'inactivité, et aux attentes des entrées-sorties du disque.
La syntaxe générale de cette commande est la suivante :
vmstat <time_between_samples_in_seconds> <number_of_samples> -tUne sortie standard se présente comme suit
kthr memory page faults cpu time
----- ----------- ------------------------ ------------ ----------- --------
r b avm fre re pi po fr sr cy in sy cs us sy id wa hr mi se
0 0 45483 221 0 0 0 0 1 0 224 326 362 24 7 69 0 15:10:22
0 0 45483 220 0 0 0 0 0 0 159 83 53 1 1 98 0 15:10:23
2 0 45483 220 0 0 0 0 0 0 145 115 46 0 9 90 1 15:10:24Dans cette sortie, recherchez ce qui suit :
- Les colonnes
r(file d'attente d'exécution) etb(bloqué) dont les valeurs commencent à augmenter, surtout si elles dépassent 10. Cette augmentation indique en général qu'un trop grand nombre de processus sont en concurrence pour accéder à l 'UC. - Les valeurs dans les colonnes
pi,po(entrées/sorties de page) ayant une valeur différente de zéro, ce qui peut indiquer qu'une pagination se déroule et que vous avez besoin de davantage de mémoire. Il est possible que la taille de pile soit trop élevée pour certaines de vos instances de machine virtuelle Java. - Les
cs(commutateurs de contact) qui augmentent trop par rapport au nombre de processus. Il peut être nécessaire d'optimiser le système avec vmtune. - Dans la section cpu,
us(temps utilisateur) indique le temps passé dans les programmes. En supposant que Java™ est le premier de la liste dans tprof, vous devez optimiser l'application Java. Dans la section cpu, sisys(heure système) est plus élevé que prévu, et que vous avez encore du tempsid(inactivité), cela peut indiquer un conflit de verrous. Vérifiez le tprof pour trouver les appels associés aux verrous dans le temps noyau. Il est conseillé de tester plusieurs instances de la machine virtuelle Java. - L'indicateur -t, qui ajoute le temps de chaque échantillon à la fin de la ligne.