JVisualVM est un outil d'analyse des performances fournis par Sun. Comment un support aussi puissant peut-il ne pas être puissant? Il est livré avec des versions après JDK6.0. Configurez les variables d'environnement et entrez "jVisualVm" pendant l'opération ou recherchez directement le répertoire bac du répertoire d'installation de JDK à exécuter. Si vous utilisez JDK1.5 ou la version précédente, vous devez l'installer séparément.
Je pense qu'une autre chose puissante est qu'il n'a pas besoin d'être démarré avec un proxy (c'est-à-dire que si vous souhaitez surveiller un programme, vous devez utiliser un logiciel de test pour exécuter le programme pour faciliter sa surveillance d'outils de test similaires tels que votrekit). C'est très pratique. Tant qu'il est exécuté dans l'environnement JDK, vous pouvez voir et surveiller l'état d'exécution après avoir ouvert cet outil de test. Bien sûr, la prémisse est de fonctionner dans le même environnement JDK.
Adresse: https://visualvm.dev.java.net/
connecter
1. Le programme de la machine locale peut être écouté directement
2. Le programme Machine distant doit ajouter des paramètres JVM
-Dcom.sun.management.jmxRemote = true
-Dcom.sun.management.jmxRemote.port = 9090
-Dcom.sun.management.jmxRemote.ssl = false
-Dcom.sun.management.jmxRemote.authenticate = false
Remarque: également vérifié
nom d'hôte je
Vérifiez s'il s'agit d'une IP locale. Si 127.0.0.1 ou que l'IP est l'un des multiples IPS, les autres IP sont invalides et la connexion ne sera pas possible.
Voici un cas d'analyse, en utilisant JVisualVM pour analyser le problème de Tomcat:
http://blog.tty.nl/2010/09/03/using-visualvm-to-fix-live-tomcat-and-jvm-problems
Installation du plugin
Outils-> Plugin-> Le plugin disponible aura des plugins qui valent la peine d'être installés, tels que: visualgc jconsole
Liste des plugins: https://visualvm.dev.java.net/plugins.html
Remarque: La configuration du port fournie ci-dessus est un peu gênante, alors pourquoi ne pas le faire directement:
Pour utiliser VisualGC, vous devez démarrer l'agent JSTATD sur la machine distante, sinon l'erreur "non prise en charge pour cette JVM" sera affichée. Il y aura un problème d'autorisation lors du démarrage de JSTATD, qui doit être modifié comme suit:
Nano / Opt / Sun-JDK- 1.6. 0.26 /jre/lib/security/java.policy
La copie de code est la suivante:
nano /opt/sun-jdk-1.6.0.26/jre/lib/security/java.policy
Ajouter les lignes suivantes
La copie de code est la suivante:
Grant CodeBase "Fichier: $ {java.home} /../ lib / outils.jar" {
Permission Java.Security.AllPermission;
};
Puis démarrez JStatd et ne fermez pas
comme:
Threads
Vérifiez l'état de fonctionnement du fil, exécutez, arrêtez, dormez, attendez et analysez la logique de l'exécution en combinaison avec le programme réel.
Pour trouver la personne suspecte, vous pouvez découvrir quel fil est actuellement.
Voir cet exemple: http://blog.tty.nl/2010/09/03/using-visualvm-to-fix-live-tomcat-and-jvm-problems
Pour utiliser et analyser le programme, vous pouvez vous référer à cet exemple: http://www.baptiste-wicht.com/2010/07/profile-applications-java-visualvm