Wikipedia

Resultados de la búsqueda

viernes, 14 de noviembre de 2014

Monitoreo de aplicaciones Java con VisualVM

En esta ocación (y mientras hago la segunda parte del post de entorno de desarrollo) les voy a mostrar cómo monitorear aplicaciones java con una muy buena herramienta incluida en el JDK que se llama VisualVM.

El objetivo de hacer esto es poder obtener estadíasticas de performance y poder detectar posibles problemas de antemano. Por ejemplo haber establecido una cantidad muy pequeña de memoria heap o PermGen y que la aplicación falle miserablemente.


Está de más decir que necesitamos tener instalado el entorno de ejecucución de Java para nuestro S.O.

Si estamos en nuestra pc con RedHat/CentOS/Fedora ejecutamos el  siguiente comando:

$ sudo yum install visualvm

Luego buscamos el programa en nuestro menú de aplicaciones y lo ejecutamos.

Se nos presentará la pantalla que figura más arriba y podremos comenzar a monitorear nuestras aplicaciones java corriendo localmente (Ej, el propio VisualVM).

Now the fun stuff!

Vamos a abrir alguna aplicación Java. Para este ejemplo voy a abrir la IDE NetBeans 8.0.1 con algunos proyectos abiertos.

Volvemos al VisualVM y dentro del nodo local vemos el proceso de NetBeans. Hacemos doble clic para que comienze a mostrarnos los indicadores.

La primer pantalla que se nos presenta es "Overview":

Aquí podremos ver el Id del proceso, los argumentos con los que se inicializó esta VM, la versión de la plataforma y las propiedades del sistema en la pestaña "System properties".

Exiten 4 pestañas más: "Monitor", "Threads", "Sampler" y "Profiler".

Dentro de la pestaña Monitor podremos observar estadísticas de utilización de memoria Heap y PermGen, de utilización de CPU, la cantidad de clases cargadas y los hilos de  ejecución.

La siguiente pestaña "Monitor" es muy interesante:

Aquí se presentan datos clave: La utilización de CPU, tamaño de memoria utilizada, cantidad de clases cargadas y los hilos de ejecución. Si por ejemplo  quisieramos ver si hemos establecido un buen límite de espacio PermGen de memoria podríamos hacer clic en la pestaña PermGen y ver cuál es la utilización de este espacio de memoria mientras nuestra aplicación se ejecuta.
Podemos forzar a que la JVM realice una recolección de basura con el botón "Perform GC".

En la pestaña "Sampler" podemos almacenar datos de funcionamiento de nuestra aplicación para obtener estadísticas de performance sobre los distintos módulos de nuestra aplicación.  Podremos hacerlos  sobre el uso de memoria y CPU.


Aquí podemos incluso ver la performance de ejecución de un método determinado que ejecuta nuestra aplicación y así poder detectar en dónde podríamos estar teniendo problemas de rendimiento.
Obviamente los resultados pueden exportarse para ser analizados más en detalle con posterioridad.

Espero que les haya sido útil esta entrada y que lo disfruten! Hasta la próxima!