1 2 3 4 

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).











1 2 3 4 

Retrouvez ci-dessous les autres sections du Laboratoire Sun
Evènements
Java Sun Net Talk LIVE CHAT le 2 Avril à 16h303/29/08
SolarisSunDécouvrez les nouveaux Sun Fire sous Intel10/11/07
JavaValtech Days10/9/07
JavaApacheCon du 1 au 4 mai à Amsterdam2/13/07

Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Actualités
SunProjet Kenai: une nouvelle forge open source10/3/08
SunSun Microsystems en forme !8/4/08
SunOpenDS un ldap 100% java7/24/08
SunSun et Fujitsu annoncent un nouveau Sparc647/16/08
SunVisualVM, un outil de surveillance des applications Java7/10/08

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée