java - online - gceasy
¿Conoce alguna herramienta de análisis de registro de recolección de basura de Java? (12)
Estoy buscando una herramienta o una secuencia de comandos que tomará el registro de la consola desde mi aplicación web, analizar la información de la recolección de basura y mostrarla de una manera significativa.
Estoy comenzando con una JVM Sun Java 1.4.2 con los siguientes indicadores:
-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
La salida de registro se ve así:
54.736: [Full GC 54.737: [Tenured: 172798K->18092K(174784K), 2.3792658 secs] 257598K->18092K(259584K), [Perm : 20476K->20476K(20480K)], 2.4715398 secs]
Dar sentido a algunos cientos de este tipo de entradas de registro sería mucho más fácil si tuviera una herramienta que graficara visualmente las tendencias de recolección de basura.
¿Qué le parece probar alguna herramienta de creación de perfiles como JProbe Freeware (Eclipse plug-in)?
Creo que algunas personas están agregando sondas Java que realmente no analizan los registros de recolección de basura como dice la pregunta ...
He intentado con otros (gcviewer, gchisto, IBM) y la mejor herramienta que encontré para analizar registros de GC es HPjmeter
Es principalmente para JVM HP-UX, pero también suele funcionar con Sun JVM y hace un gran trabajo.
texto alternativo http://blog.xebia.com/wp-content/uploads/2008/09/hpjmeter-gctime.jpg
El complemento gchisto para VisualVM no funciona gchisto
Tengo un archivo con todos los detalles de printgc para jdk1.6 pero no pude encontrar una herramienta para leer eso. Previamente con jdk1.5 usamos HPjmeter, funcionó bien, pero ahora con jdk1.6 no funciona
Probé lo siguiente: IBM Pattern Modeling and Analysis Tool para Java Garbage Collector: no reconoce el archivo. GCCollector no funciona, sigue leyendo el archivo para su análisis.
El kit de herramientas de GC de IBM hace exactamente lo que usted pregunta.
https://www.ibm.com/developerworks/java/jdk/tools/gcmv/
Sin embargo, no estoy seguro de si es compatible con los registros de GC de la JVM de Sun.
Hace unos años, John Coomes (grupo de Hotspot GC) había publicado PrintGCStats, un script awk para "resumir las estadísticas sobre la recolección de basura, en particular los totales de tiempo de pausa, los promedios, los máximos y las desviaciones estándar". Una copia del script está alojada en java.net: http://java.net/projects/printgcstats
La herramienta más poderosa que he encontrado para trabajar con los registros JVM de IBM y Hotspot y visualizarlos es el PMAT de IBM: https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=22d56091-3a7b-4497-b36e-634b51838e11
Lo encuentro más rápido y proporciona más detalles que la herramienta en IBM Support Assistant. Se está actualizando continuamente, por último julio''12.
Sin embargo, parece tener algunos problemas para analizar los registros con la política CMS, pero espero que se pueda solucionar.
PrintGCStats también es bastante bueno y ofrece buenas estadísticas, pero no para la visualización en el tiempo, que necesita algo de trabajo.
Probé una herramienta en línea http://gceasy.io , puede leer mi registro de sol jdk 1.8 gc.
Pruebe VisualGC desde Sun. Hay versiones JDK 4 y 5 que le dan una buena visión de lo que está sucediendo en los espacios eden, generational y perm. Necesitas agregar un JAR y obtener un PID y Bob es tu tío.
Yo uso YourKit java profiler , que te permite medir este tipo de cosas, y mucho más, pero usando su propio formato en lugar de analizar el registro. Puede hacer más en Java 5, pero debería funcionar por debajo de 1.4.
jconsole
puede ayudarte mucho, pero creo que es solo Java 5 y versiones posteriores. Una vez escuché a alguien de SUN hablando en nuestra universidad y dijo que el recolector de basura de Java 6 es MUCHO mejor que los viejos, que necesitaban ajustes complicados casi todo el tiempo para grandes aplicaciones. Java 6 GC parece escalar mucho mejor en SMP.
gcviewer hace lo que quieres.