JvisualVM est un profiler. Il est inclu dans chaque JDK récent. Il offre des fonctionnalités de profiler en terme de CPU et de mémoire
Coté client (là où est installé jvsualvm)
D:\dev\jdk\64bits\jdk1.6.0_45\bin\jvisualvm.exe
Définition : Le jvisualvm qu'on va lancer se situe sur le même poste de travail que le programme qu'on veut profiler.
Le programme peut être :
Normalement, quand visual VM sera lancé, il détectera automatiquement les instances java lancées en local.
Définition : Le jvisualvm qu'on va lancer ne se situe pas sur le même poste de travail que le programme qu'on veut profiler.
Si on souhaite faire du Visual VM pour analyser une machine distante, il faut :
+E1 : ajouter ceci dans les arguments de la ligne de commande du programme distant à profiler (un peu comme pour un lancement en remote debug)
... -Dcom.sun.management.jmxremote.port=9388 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ ...
Remarque : 9388 ou un autre port tcp
+E2 : dans jvisualvm : ajouter un serveur distant en fournissant l’ip et le port 9388 précédent
L’onglet sampler correspond au recorder ; il faut cliquer sur le bouton cpu pour activer la recording cpu, et rappuyer dessus pour le désactiver.
Idem pour le bouton mémoire.
Cliquer sur snapshot permet de créer un rapport de tout ce qui a été créé.