java - jconsole download
¿Se pueden recuperar los datos de jconsole desde la línea de comandos? (9)
Algunas otras herramientas útiles de CLI para monitorear aplicaciones Java son:
Actualmente estoy usando jconsole
para monitorear las métricas de rendimiento de mi aplicación Java y me gustaría hacer un script de esta adquisición de datos .
¿Hay alguna forma de recuperar estas métricas de VM (uso de memoria del montón, cantidad de subprocesos, uso de la CPU, etc.) a STDOUT
?
Los datos en top -p PID -b -n 1
no son suficientes.
Gracias
Eche un vistazo a jmap
, que se puede usar para tomar un volcado de pila desde la consola.
Para los datos no cubiertos en el volcado de almacenamiento dinámico, creo que jconsole solo usa JMX para conectarse a la JVM en ejecución para obtener estadísticas, por lo que es posible crear su propia aplicación que pueda extraer esos mismos tipos de estadísticas de JMX.
Esta es una respuesta parcial a su pregunta:
set JAVA_OPTS=%JAVA_OPTS% -Xloggc:logs/gc.log -XX:+PrintGCDetails -XX:MaxPermSize=128m
He utilizado con éxito el tomcat jmxproxy para acceder desde scripts ( http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html#Using_the_JMX_Proxy_Servlet ).
No he usado ninguno de ellos, pero uno de los proyectos jmx-rest puede ser una opción para un servidor que no sea Tomcat ( http://www.google.com/search?q=jmx+rest ).
Puede usar esta herramienta de consulta jmx por línea de comando: http://crawler.archive.org/cmdline-jmxclient/
Tal vez jvmtop pena echarle un vistazo a jvmtop .
Es una herramienta de línea de comandos que proporciona una vista en vivo para varias métricas.
Ejemplo de salida del modo de resumen de VM:
JvmTop 0.4.1 amd64 8 cpus, Linux 2.6.32-27, load avg 0.12
http://code.google.com/p/jvmtop
PID MAIN-CLASS HPCUR HPMAX NHCUR NHMAX CPU GC VM USERNAME #T DL
3370 rapperSimpleApp 165m 455m 109m 176m 0.12% 0.00% S6U37 web 21
11272 ver.resin.Resin [ERROR: Could not attach to VM]
27338 WatchdogManager 11m 28m 23m 130m 0.00% 0.00% S6U37 web 31
19187 m.jvmtop.JvmTop 20m 3544m 13m 130m 0.93% 0.47% S6U37 web 20
16733 artup.Bootstrap 159m 455m 166m 304m 0.12% 0.00% S6U37 web 46
jconsole simplemente proporciona una envoltura alrededor de los MBM de JMX que están en la plataforma MBeanServer.
Puede escribir un programa para conectarse a su máquina virtual utilizando la API Adjuntar que luego consultaría los MBeans.
O puede exponer la plataforma MBeanServer a través de RMI y consultar los MBeans de esa manera.
Ver el paquete java.lang.management para más información
jstack ofrece una serie de bits de información útiles en su salida normal. El uso de la memoria del montón está disponible directamente, desglosado por región de GC; el conteo de hilos se puede determinar con un poco de perl / grep / etc.