Cuando dices código abierto, ¿te refieres a gratis? Tienen diferentes significados. ¿Su pregunta es acerca de los _perfiles económicos?
Robert Munteanu
3
libre como en libertad o libre como gratis? ¡Oh, la confusión!
Tarski
Respuestas:
61
El VisualVM que viene con jdk6 tiene un generador de perfiles básico en su interior. VisualVM se proporciona con el jdk, por lo que si tiene el jdk6 instalado, es probable que también lo tenga instalado.
Java tiene un generador de perfiles integrado básico llamado HProf . Encuentro útil comparar los resultados que proporciona con los resultados de perfiladores de características más completas.
Nunca he podido configurar TPTP. Quizás soy demasiado tonto para usarlo.
quant_dev
@quant_dev: Tuve el mismo problema, pero de alguna manera accidentalmente logré configurarlo de repente (¿eclipse reiniciado o lo que sea?). Pero cuando lo usé resultó ser casi inútil, fue increíblemente lento y hambriento de recursos hasta el punto en que tuve un eclipse de muerte. Algunas de las vistas más útiles que se mencionaron en varias referencias que encontré en línea tampoco parecen existir más en la versión actual que funciona con eclipse 3.5. Así que por el momento es básicamente un BLOB enorme de inutilidad.
x4u
1
Eclipse TPTP parece un producto maduro pero es extremadamente lento. No puedo entender por qué ...
Roalt
4
Desafortunadamente, TPTP ha tenido su versión final (v4.7.2). Se ha archivado y ya no forma parte del lanzamiento simultáneo de Eclipse.
joelittlejohn
3
Si está buscando un generador de perfiles de código abierto sencillo y fácil de usar, es posible que desee echar un vistazo a Jip ( Java Interactive Profiler ). Está publicado bajo una licencia BSD. Lo encontré bastante útil para programas pequeños. Al menos, los resultados que da son mucho más fáciles de entender que la salida de hprofs.
Java Mission Control , es de uso gratuito para el desarrollo y se integra con Eclipse. Tiene una sobrecarga muy baja (<1%) ya que se suma a los datos que la JVM está recopilando de todos modos.
Es muy fácil de usar y también puede brindar mucha información que normalmente no encontrará en otras herramientas de generación de perfiles, por ejemplo, generación de perfiles de latencia, inspección de memoria en línea, estadísticas detalladas de gc
Esto es rápido, sucio y muy efectivo: simplemente realice algunos volcados de subprocesos o pause el programa varias veces y observe los seguimientos de la pila.
Este proyecto es un generador de perfiles de muestreo de baja sobrecarga para Java que no sufre el problema de sesgo de Safepoint . Cuenta con API específicas de HotSpot para recopilar seguimientos de pila y rastrear asignaciones de memoria. El generador de perfiles funciona con OpenJDK, Oracle JDK y otros tiempos de ejecución de Java basados en HotSpot JVM.
OP pidió una "licencia académica no demasiado cara". Una sola licencia académica para JProfiler cuesta US $ 199
masher
1
Pidió algo que fuera de código abierto o que tuviera una licencia académica económica. En mi opinión, 199 dólares es bastante económico para una herramienta que cuesta 499 dólares para una licencia normal.
Paul Morie
0
JVM Monitor es un generador de perfiles de Java integrado con Eclipse para monitorear el uso de CPU, subprocesos y memoria de las aplicaciones Java.
Si se necesita un análisis más profundo, puede usar otras herramientas (por ejemplo , TPTP , Memory Analyzer ) como siguiente paso.
Respuestas:
El VisualVM que viene con jdk6 tiene un generador de perfiles básico en su interior. VisualVM se proporciona con el jdk, por lo que si tiene el jdk6 instalado, es probable que también lo tenga instalado.
https://visualvm.github.io/
fuente
VisualVM
antes con éxito, pero me fallaba al intentar crear un perfil de una aplicación de Tomcat. Esto funcionó para mí: github.com/jvm-profiling-tools/honest-profilertienes una lista aquí (enumerándolos a continuación, en caso de que el enlace se rompa)
fuente
¡Ah! Netbeans Profiler , ganador del premio "Producto del año" de developer.com, en 2009.
fuente
Java tiene un generador de perfiles integrado básico llamado HProf . Encuentro útil comparar los resultados que proporciona con los resultados de perfiladores de características más completas.
fuente
La herramienta de código abierto jvmtop incluye un generador de perfiles de consola básico. Salida de ejemplo:
fuente
Eclipse TPTP
Aquí hay un artículo sobre la creación de perfiles de aplicaciones Java mediante TPTP y un tutorial de creación de perfiles de aplicaciones basadas en J2SE 5.0 utilizando Eclipse TPTP .
fuente
Si está buscando un generador de perfiles de código abierto sencillo y fácil de usar, es posible que desee echar un vistazo a Jip ( Java Interactive Profiler ). Está publicado bajo una licencia BSD. Lo encontré bastante útil para programas pequeños. Al menos, los resultados que da son mucho más fáciles de entender que la salida de hprofs.
fuente
Java Mission Control , es de uso gratuito para el desarrollo y se integra con Eclipse. Tiene una sobrecarga muy baja (<1%) ya que se suma a los datos que la JVM está recopilando de todos modos.
Es muy fácil de usar y también puede brindar mucha información que normalmente no encontrará en otras herramientas de generación de perfiles, por ejemplo, generación de perfiles de latencia, inspección de memoria en línea, estadísticas detalladas de gc
fuente
Esto es rápido, sucio y muy efectivo: simplemente realice algunos volcados de subprocesos o pause el programa varias veces y observe los seguimientos de la pila.
fuente
Considere https://github.com/jvm-profiling-tools/async-profiler de vanguardia
También está integrado en IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html .
También hay https://github.com/jvm-profiling-tools/honest-profiler similares .
La comparación entre
async-profiler
yhonest-profiler
: https://github.com/jvm-profiling-tools/async-profiler/issues/77fuente
Netbeans IDE incluye un generador de perfiles gratuito.
Además, si no recuerdo mal, la licencia académica de JProfiler es (relativamente) económica.
fuente
JVM Monitor es un generador de perfiles de Java integrado con Eclipse para monitorear el uso de CPU, subprocesos y memoria de las aplicaciones Java.
Si se necesita un análisis más profundo, puede usar otras herramientas (por ejemplo , TPTP , Memory Analyzer ) como siguiente paso.
fuente