Que pouvez-vous recommander d'utiliser avec Java?
La seule condition est qu'il devrait être open source, ou ne pas avoir une licence académique trop chère.
Le VisualVM fourni avec jdk6 contient un profileur de base . VisualVM est fourni avec le jdk. Par conséquent, si vous avez le jdk6 installé, vous l’aurez probablement également.
vous avez une liste ici (les listant ci-dessous, le lien en cas de casse est cassé)
- JMemProf
- JMP
- DrMem
- JTreeProfiler
- NetBeans Profiler
- API JAMon
- JBoss Profiler
- MessAdmin
- Infrarouge
- TomcatProbe
- Java Interactive Profiler (JIP)
- Profiler4j
- Chronomètre
- JMesure
- DJProf
- TIJmp
- Allmon
- Appspy
- EurekaJ
- japex
- OKTECH Profiler
- Perf4j
Ah Netbeans Profiler , gagnant du "Produit de l’année" par developer.com, en 2009.
Java a un profileur de base intégré appelé HProf . Je trouve utile de comparer les résultats fournis avec ceux de profileurs plus complets.
L'outil open source jvmtop inclut un profileur de base pour la console . Exemple de sortie:
JvmTop 0.7.0 alpha - 15:16:34, AMD64, 8 cpus, Linux 2.6.32-27, load avg 0.41
http://code.google.com/p/jvmtop
Profiling PID 24015: org.Apache.catalina.startup.Bootstrap
36.16% ( 57.57s) hudson.model.AbstractBuild.calcChangeSet()
30.36% ( 48.33s) hudson.scm.SubversionChangeLogParser.parse()
7.14% ( 11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
6.25% ( 9.95s) net.sf.json.JSONObject.write()
3.13% ( 4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()
Voici un article sur Le profilage d'application Java à l'aide de TPTP et voici un didacticiel Le profilage d'applications J2SE 5.0 utilisant Eclipse TPTP .
Si vous recherchez un profileur open source simple et facile à utiliser, jetez un coup d'œil à Jip ( Java Interactive Profiler ). Il est publié sous une licence BSD. Je l'ai trouvé très utile pour les petits programmes. Au moins, les résultats qu’il donne sont bien plus faciles à comprendre que les résultats de hprofs.
Java Mission Control , il est gratuit à utiliser pour le développement et s’intègre à Eclipse. Les frais généraux sont très faibles (<1%), car ils se rapportent de toute façon aux données que la JVM recueille.
Il est très facile à utiliser et peut également fournir de nombreuses informations que vous ne trouverez généralement pas dans d'autres outils de profilage, par exemple. profilage de latence, inspection de la mémoire en ligne, statistiques détaillées de gc
Ceci est rapide, sale et très efficace: il suffit de faire quelques vidages de threads ou de mettre le programme en pause plusieurs fois et de regarder les traces de la pile.
JVM Monitor est un profileur Java intégré à Eclipse pour surveiller l'utilisation du processeur, des threads et de la mémoire des applications Java.
Si une analyse plus approfondie est nécessaire, vous pouvez utiliser d'autres outils (par exemple, TPTP , Memory Analyzer ) à l'étape suivante.
Netbeans IDE comprend un profileur gratuit.
Aussi, si je me souviens bien, la licence académique pour JProfiler est (relativement) peu coûteuse.