web-dev-qa-db-fra.com

Comment surveiller un programme Java en utilisant Jconsole?

J'ai écrit un programme pour imprimer le numéro de 1 à 200 en utilisant 2 fils.

Maintenant, je veux surveiller ce programme à l'aide de JConsole.

Fondamentalement, je veux apprendre à utiliser JConsole pour surveiller une application.

J'ai cherché sur Google, mais je n'ai pas trouvé quelque chose d'utile.

Comment puis-je y parvenir?

Quand j'ai commencé jconsole.exe dans le dossier bin. Il demande le nom d'hôte et le numéro de port. Ici dans mon cas, il n'y en a pas, je suppose. Quelqu'un peut-il guider.

16
Thinker

Vous devez activer JMX en ajoutant les arguments JVM suivants:

-Dcom.Sun.management.jmxremote
-Dcom.Sun.management.jmxremote.authenticate=false
-Dcom.Sun.management.jmxremote.port=8484
-Dcom.Sun.management.jmxremote.ssl=false

Ces paramètres permettront à tout outil de surveillance JMX d'accéder et de surveiller votre application.

Je vous suggère également d'utiliser visualVM son outil le plus puissant. quelques fonctionnalités pour visualVM:

  • Fournissez un profilage CPU.
  • Fournissez toutes les informations sur les discussions.
  • Fournissez le tas JVM et les états de mémoire.
  • Fournir des informations sur les activités du GC.
9
Salah

Supposons que vous ayez une classe Test sous le package p1 où vous avez le code pour imprimer des nombres de 1 à 200 en utilisant 2 fils (que vous voulez surveiller).

Donc, pour utiliser jconsole pour surveiller votre application, vous devez d'abord compiler et exécuter votre code et pendant l'exécution de votre code ...

  • Start -> Run -> jconsole.exe et appuyez/appuyez sur Enter

    enter image description here

  • Sélectionnez l'application que vous souhaitez surveiller, puis cliquez sur Connect.

    enter image description here

Alternativement, vous pouvez également utiliser VisualVM à cette fin.

  • enter image description here
10

JConsole retrouve toutes les applications en cours d'exécution au moment du démarrage de JConsole. Ensuite, seuls le port d'applications et l'hôte en cours d'exécution seront affichés dans la liste. Vous devez donc d'abord démarrer l'application puis lancer la JConsole.

1
Sonu