|
JMX et JConsole
2.Utilisation de JConsole
Lancez votre application Java en ajoutant la commande
com.sun.management.jmxremote :
-
java –Dcom.sun.management.jmxremote -jar hello.jar

Lancez ensuite JConsole. Vous le trouverez dans le répertoire
\bin de votre JDK. Tout d’abord, vous devez vous connecter en
local ou à distance via la fenêtre Connect to Agent. Une
fois connecté, elle vous informe des applications Java en
cours d’exécution. Sélectionnez votre application
dans la liste pour obtenir les informations correspondantes.


La fenêtre Monitoring and Management Console s’ouvre
alors sur l’onglet Summary. Celui-ci joue le rôle de
sommaire pour JConsole et regroupe des informations sur les processus
en cours d’exécution et la mémoire physique
utilisée ainsi que sur les classes lancées. On y trouve
également les informations sur la Machine Virtuelle en cours
d’utilisation et sur le système d’exploitation.

L’onglet Memory fournit les informations sur la mémoire
physique utilisée. Le graphe renseigne sur la mémoire
utilisée par la Machine Virtuelle. Il nous fournit différentes
vues qui nous informent des différents pools de mémoire
utilisés par JVM :
-
Eden Space : Le pool dont la mémoire est initialement
allouée pour les objets.
-
Survivor Space : Le pool contenant les objets en dehors de
l’Eden Space.
-
Tenured Generation : Le pool contenant les objets éphémères
du pool Survivor Space.
-
Permanent Generation : Le pool contenant toutes les données
relatives à la Machine Virtuelle.
-
Code Cache : Le pool contenant la mémoire utilisée
pour la compilation et le stockage du code source.
 Le
diagramme de droite nous renseigne sur la mémoire utilisée
dans les différents pools. Celui-ci devient rouge lorsque la
mémoire utilisée dépasse le seuil d’utilisation
de la mémoire totale. Vous pouvez définir le seuil de
la mémoire avec l’attribut MemoryMXBean.
L’onglet Thread fournit les informations sur les processus en
cours d’utilisation. La liste de gauche renseigne sur les
processus actifs. Le champ Filter permet de restreindre cette liste
aux processus souhaité. Il agit comme un filtre sur les
processus actifs. Ce champ respecte la casse.
Pour afficher les informations à propos d’un thread, il
suffit de cliquer sur son nom dans la liste. Le graphe nous informe
sur le nombre de processus actifs ainsi que sur la durée de
leur exécution. La courbe rose renseigne sur le nombre total
de processus, la rouge sur le nombre maximum de processus fils et la
bleu sur le nombre de processus actifs.

L’onglet Classes contient les informations sur les classes
lancées. Le graphe nous informe sur le nombre de classes
lancées. La courbe rouge renseigne sur le nombre total de
classe en incluant celle en attente d’exécution, la bleu
sur le nombre courant de classes lancées. La section de détail
informe sur le nombre de classes chargées depuis le lancement
de la Machine Virtuelle ainsi que sur le nombre courant de classes en
cours d’exécution.

L’onglet MBeans affiche toutes les informations relatives aux
MBeans enregistrés auprès du MBeanServer. L’arbre
de gauche renseigne sur tous les MBeans. Ils sont organisés
selon les objets qui les implémentent. Pour afficher les
attributs, les opérations, les notifications ou les
informations relatives à un MBean, il suffit de sélectionner
le MBean dans la liste. Si un attribut est modifiable, vous pouvez en
définir sa valeur.


L’onglet VM fournit les informations de la Machine Virtuelle
telles que la version de la VM (Java Virtual Machine), le temps
écoulé depuis le lancement de celle-ci (Uptime), les
arguments ajoutés au programme lors du lancement de celui-ci
(VM arguments), les jars associés à l’application
(Class path), les librairies également associés à
l’application (Library path).
L’onglet VM fournit des informations, relatives au compilateur,
telles que le temps total accumulé lors de la compilation
(Total Compile Time).Il fournit également des informations sur
votre système telles que le système d’exploitation
(Operating System), le nombre de processeur (Number of processors),
le temps processeur (Process CPU time), la mémoire physique
totale et libre (Total / Free physical memory).

|
|
 |
|