java performance command-line monitoring jconsole

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:

  • Jmxterm que proporciona acceso total a todos los MBeans en el servidor de aplicaciones, se ejecuta de forma interactiva o no,
  • jmxbox que solo puede conectarse a través de un socket TCP, no directamente a un proceso local con su PID

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



Puede que encuentre jvm-mon útil para esto. Es una herramienta de monitoreo de JVM para la línea de comando que se despliega:

  • procesos jvm
  • uso de la CPU y GC
  • uso y tamaño del montón
  • hilos superiores

Las métricas y los gráficos se actualizan mientras la herramienta está abierta.

Muestra: jvm-mon



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.