visual jdk java profiling profiler production-environment

java - jdk - visualvm linux



¿El mejor y más seguro Java Profiler para uso de producción? (10)

¿Has probado YourKit ? Tiene casi todas las características que está buscando.

Estoy buscando un Java Profiler para usar en un entorno de producción de gran demanda, ya sea comercial o gratuito, que cumpla con todos los siguientes requisitos:

  • Integración liviana con código (sin recompilar con opciones especiales, sin enganches de código, etc.). Es correcto eliminar algunos .jars específicos del generador de perfiles junto con el código de la aplicación.
  • Debe poder conectarse / desconectarse a la JVM sin reiniciar la aplicación.
  • Cuando el perfil no está activo, no hay impacto en el rendimiento
  • Cuando el perfilado está activo, el rendimiento es insignificante. Una degradación muy leve es aceptable.
  • Debe hacer todo lo que se espera de un generador de perfiles: el tiempo empleado en cada método para encontrar zonas activas, asignación de objetos / perfiles de memoria, etc.

Esencialmente necesito algo que pueda permanecer inactivo en la producción cuando todo está bien sin que nadie sepa o se preocupe de que esté allí, pero luego ser capaz de conectarse a él (y degradación del rendimiento) sin problemas para identificar problemas difíciles de encontrar, como puntos de acceso y sincronización cuestiones.



Eche un vistazo a Java Mission Control junto con la grabadora de vuelo . A partir del lanzamiento de Oracle JDK 7 Update 40 (7u40), Java Mission Control se incluye con HotSpot JVM, por lo que está altamente integrado y pretende tener pequeños efectos en el rendimiento en tiempo de ejecución. Tiene funcionalidad de árbol de llamadas como Callgrind.


El Monitor de rendimiento de aplicaciones Java de FusionReactor también incluye un Java Profiler de sobrecarga muy baja como parte de su cartera de funciones. http://www.fusion-reactor.com/production-java-profiler/ FusionReactor se puede instalar en un par de minutos y tienen una prueba gratuita de 14 días para probarlo.


Hay otra nueva opción llamada javosize.

Cuando busqué "el mejor perfilador de java" en google, vi en el primer enlace sin pago (es un blog), la misma herramienta en los comentarios a la publicación:

https://blog.oio.de/2014/03/07/java-profilers-a-short-comparison-between-jprofiler-yourkit-and-javas-visualvm /

¡Espero eso ayude!

Editar: Como dicen los comentarios, el enlace de linkedin es a un foro privado. Lo siento por esto. Aquí está el enlace al sitio principal:

http://www.javosize.com/gettingStarted.html



Java VisualVM es una herramienta que proporciona una interfaz visual para ver información detallada sobre las aplicaciones basadas en tecnología Java (aplicaciones Java) mientras se ejecutan en una Máquina Virtual Java (JVM). Java VisualVM organiza los datos de JVM que se recuperan con las herramientas del Kit de desarrollo de Java (JDK) y presenta la información de manera que le permite ver rápidamente los datos en varias aplicaciones Java. Puede ver datos sobre aplicaciones locales y aplicaciones que se ejecutan en hosts remotos. También puede capturar datos sobre el software JVM y guardar los datos en su sistema local, y ver los datos más tarde o compartirlos con otros. Esto viene con Oracle JDK en sí ...

$ jvisualvm


Otra opción es http://www.newrelic.com/ . Lo hemos estado utilizando en producción durante algún tiempo, y parece ser bastante confiable y eficaz. Fácil de configurar (un .jar y una opción de línea de comandos de agente).


Yo prefiero Java Flight Recorder . Causa casi ninguna sobrecarga de rendimiento y tiene una interfaz gráfica de usuario agradable. Añadir parámetros JVM

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true

y abrir el registro con JMC.


Yo uso Eclipse TPTP - Eclipse Test & Performance Tools Platform Project. Si es adecuado para uso de producción o no, depende del usuario. Para mí, está bien y satisface tus necesidades.

http://www.eclipse.org/tptp/