Cosa potete consigliare di usare con Java?
L'unico requisito è che dovrebbe essere open source o che non abbia una licenza accademica troppo costosa.
Cosa potete consigliare di usare con Java?
L'unico requisito è che dovrebbe essere open source o che non abbia una licenza accademica troppo costosa.
Risposte:
Il VisualVM fornito con jdk6 ha un profiler di base al suo interno. VisualVM viene fornito con jdk, quindi se hai installato jdk6, probabilmente lo hai installato anche tu.
VisualVM
precedenza con successo, ma si è bloccato durante il tentativo di creare il profilo di un'app Tomcat. Questo ha funzionato per me: github.com/jvm-profiling-tools/honest-profiler
hai una lista qui (elencandoli di seguito, il collegamento nel caso si interrompa)
- JMemProf
- JMP
- DrMem
- JTreeProfiler
- NetBeans Profiler
- JAMon API
- JBoss Profiler
- MessAdmin
- Infrarossi
- TomcatProbe
- Java Interactive Profiler (JIP)
- Profiler4j
- Cronometro
- JMeasurement
- DJProf
- TIJmp
- Allmon
- Appspy
- EurekaJ
- japex
- OKTECH Profiler
- Perf4j
Ah. Netbeans Profiler , vincitore del "Prodotto dell'anno" di developer.com, nel 2009.
Java ha un profiler integrato di base chiamato HProf . Trovo utile confrontare i risultati che fornisce con i risultati di profiler di funzionalità più completi.
Lo strumento open source jvmtop include un profiler della console di base. Output di esempio:
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()
Ecco un articolo sulla creazione di profili di applicazioni Java utilizzando TPTP ed ecco un tutorial sulla creazione di profili di applicazioni basate su J2SE 5.0 utilizzando Eclipse TPTP .
Se stai cercando un profiler open source senza fronzoli e facile da usare, potresti dare un'occhiata a Jip ( Java Interactive Profiler ). È pubblicato con una licenza BSD. L'ho trovato abbastanza utile per piccoli programmi. Almeno, i risultati che fornisce sono molto più facili da capire dell'output di hprofs.
Java Mission Control , è gratuito da usare per lo sviluppo e si integra con Eclipse. Ha un overhead molto basso (<1%) poiché si basa sui dati che la JVM sta raccogliendo comunque.
È molto facile da usare e può anche fornire molte informazioni che in genere non troverai in altri strumenti di profilazione, ad es. Profilazione della latenza, ispezione della memoria online, statistiche gc dettagliate
Questo è veloce, sporco e molto efficace: basta prendere alcuni dump del thread o mettere in pausa il programma più volte e guardare le tracce dello stack.
Considera https://github.com/jvm-profiling-tools/async-profiler all'avanguardia
Questo progetto è un profiler di campionamento a basso overhead per Java che non soffre del problema di bias di Safepoint . È dotato di API specifiche di HotSpot per raccogliere tracce di stack e tenere traccia delle allocazioni di memoria. Il profiler funziona con OpenJDK, Oracle JDK e altri runtime Java basati su HotSpot JVM.
È anche integrato in IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html .
C'è anche un simile https://github.com/jvm-profiling-tools/honest-profiler .
Il confronto tra async-profiler
e honest-profiler
: https://github.com/jvm-profiling-tools/async-profiler/issues/77
Netbeans IDE include un profiler gratuito.
Inoltre, se ricordo bene, la licenza accademica per JProfiler è (relativamente) poco costosa.
JVM Monitor è un profiler Java integrato con Eclipse per monitorare CPU, thread e utilizzo della memoria delle applicazioni Java.
Se sono necessarie ulteriori analisi approfondite, è possibile utilizzare altri strumenti (ad es TPTP , Memory Analyzer ) come passaggio successivo.