Quand vous dites open source, voulez-vous dire gratuit? Ils ont des significations différentes. Votre question concerne-t-elle les profileurs _inexensive?
Robert Munteanu
3
libre comme en liberté ou libre comme gratis? Oh la confusion!
Tarski
Réponses:
61
Le VisualVM fourni avec jdk6 contient un profileur de base. VisualVM est fourni avec le jdk, donc si vous avez installé le jdk6, vous l'avez probablement également installé.
Le profileur VisualVM est une version autonome de celui de NetBeans. C'est un TRES bon début.
Thorbjørn Ravn Andersen
2
Téléchargez définitivement la version la plus récente sur: visualvm.dev.java.net . Aussi: c'est le profileur que NetBeans utilise.
Peterdk le
J'ai déjà utilisé VisualVMavec succès, mais cela plantait pour moi en essayant de profiler une application Tomcat. Cela a fonctionné pour moi: github.com/jvm-profiling-tools/honest-profiler
Lambart
21
vous avez une liste ici (listez-les ci-dessous, au cas où le lien serait cassé)
Java a un profileur intégré de base appelé HProf . Je trouve utile de comparer les résultats qu'il fournit avec les résultats de profileurs plus complets.
J'utilise HPROF depuis des années - et même si ce n'est peut-être pas joli, cela m'a aidé à résoudre d'innombrables problèmes de mémoire et de performances.
Gandalf
1
HPROF trouve souvent différents points à optimiser. Je l'utilise souvent après que YourKit ne me donne plus de points évidents à optimiser.
Je n'ai jamais pu configurer TPTP. Je suis peut-être trop stupide pour l'utiliser.
quant_dev
@quant_dev: J'ai eu le même problème mais j'ai réussi accidentellement à le mettre en place soudainement (éclipse redémarrée ou autre?). Mais quand je l'ai utilisé, il s'est avéré presque inutile, incroyablement lent et gourmand en ressources au point de tuer l'éclipse. Certaines des vues les plus utiles qui ont été mentionnées dans plusieurs références que j'ai trouvées en ligne ne semblent plus exister dans la version actuelle qui fonctionne avec eclipse 3.5. Donc, pour le moment, c'est simplement un énorme BLOB d'inutilité.
x4u
1
Eclipse TPTP ressemble à un produit mature mais est extrêmement lent. Je ne comprends pas pourquoi ...
Roalt
4
Malheureusement, TPTP a maintenant sa version finale (v4.7.2). Il a été archivé et ne fait plus partie de la version simultanée d'Eclipse.
joelittlejohn
3
Si vous êtes à la recherche d'un profileur open source simple à utiliser, vous pouvez jeter un œ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 beaucoup plus faciles à comprendre que les résultats de hprofs.
Java Mission Control , il est gratuit pour le développement et il s'intègre à Eclipse. Il a une surcharge très faible (<1%) car il se superpose aux données que la JVM collecte de toute façon.
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 le profilage de latence, l'inspection de la mémoire en ligne, les statistiques détaillées de GC
C'est rapide, sale et très efficace: il suffit de prendre quelques threads, ou de mettre le programme en pause plusieurs fois, et de regarder les traces de la pile.
Ce projet est un profileur d'échantillonnage à faible surcharge pour Java qui ne souffre pas de problème de biais Safepoint . Il comporte des API spécifiques à HotSpot pour collecter des traces de pile et pour suivre les allocations de mémoire. Le profileur fonctionne avec OpenJDK, Oracle JDK et d'autres environnements d'exécution Java basés sur HotSpot JVM.
OP a demandé "une licence académique pas trop chère". Une seule licence académique pour JProfiler est de 199 $ US
masher le
1
Il a demandé quelque chose qui était open source ou avait une licence académique bon marché. À mon avis, 199 $ US sont assez bon marché pour un outil qui coûte 499 $ pour une licence normale.
Paul Morie
0
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 ) comme étape suivante.
Réponses:
Le VisualVM fourni avec jdk6 contient un profileur de base. VisualVM est fourni avec le jdk, donc si vous avez installé le jdk6, vous l'avez probablement également installé.
https://visualvm.github.io/
la source
VisualVM
avec succès, mais cela plantait pour moi en essayant de profiler une application Tomcat. Cela a fonctionné pour moi: github.com/jvm-profiling-tools/honest-profilervous avez une liste ici (listez-les ci-dessous, au cas où le lien serait cassé)
la source
Ah. Netbeans Profiler , lauréat du "Produit de l'année" de developer.com, en 2009.
la source
Java a un profileur intégré de base appelé HProf . Je trouve utile de comparer les résultats qu'il fournit avec les résultats de profileurs plus complets.
la source
L'outil open-source jvmtop inclut un profileur de console de base. Exemple de sortie:
la source
Eclipse TPTP
Voici un article sur le profilage d'application Java à l'aide de TPTP et voici un tutoriel sur le profilage d'applications basées sur J2SE 5.0 à l'aide d'Eclipse TPTP .
la source
Si vous êtes à la recherche d'un profileur open source simple à utiliser, vous pouvez jeter un œ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 beaucoup plus faciles à comprendre que les résultats de hprofs.
la source
Java Mission Control , il est gratuit pour le développement et il s'intègre à Eclipse. Il a une surcharge très faible (<1%) car il se superpose aux données que la JVM collecte de toute façon.
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 le profilage de latence, l'inspection de la mémoire en ligne, les statistiques détaillées de GC
la source
C'est rapide, sale et très efficace: il suffit de prendre quelques threads, ou de mettre le programme en pause plusieurs fois, et de regarder les traces de la pile.
la source
Pensez à https://github.com/jvm-profiling-tools/async-profiler de pointe
Il est également intégré à IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html .
Il existe également des https://github.com/jvm-profiling-tools/honest-profiler similaires .
La comparaison entre
async-profiler
ethonest-profiler
: https://github.com/jvm-profiling-tools/async-profiler/issues/77la source
Netbeans IDE inclut un profileur gratuit.
De plus, si je me souviens bien, la licence académique de JProfiler est (relativement) peu coûteuse.
la source
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 ) comme étape suivante.
la source