Cómo utilizar JConsole para monitorear y administrar aplicaciones Java

En adición al soporte exhaustivo de monitoreo y gestión de aplicaciones ofrecido por J2SE 5.0, JDK 5.0 y JDK 6.0 incluyen la herramienta Java Monitoring & Management Console, también conocida como JConsole. El comando jconsole lanza una herramienta de consola gráfica que te permite monitorear y gestionar aplicaciones Java en una máquina local o remota.

Índice de Contenido
  1. ¿Por qué utilizar JConsole?
  2. Cómo utilizar JConsole
  3. ¿Qué hay de nuevo en JDK 6?
  4. Referencias para más información

¿Por qué utilizar JConsole?

Para mantener el buen funcionamiento de las aplicaciones, es importante poder obtener información sobre el rendimiento y el consumo de recursos, especialmente para aplicaciones de larga duración como sitios web. Si bien puedes obtener alguna información del sistema operativo (como el uso de CPU y memoria), a menudo necesitarás información mucho más detallada. Es por esto que los proveedores de servidores de aplicaciones ofrecen herramientas especializadas para monitorear el servidor de aplicaciones y las aplicaciones que se ejecutan en él.

Pero ¿qué sucede si no estás utilizando un servidor de aplicaciones o si estás utilizando un servidor de aplicaciones que no incluye una herramienta de monitoreo? En lugar de depender del sistema operativo y de los archivos de registro y traza, o desarrollar código de monitoreo personalizado, puedes utilizar las MBeans que forman parte de la plataforma J2SE. Las MBeans son de gran ayuda en este sentido. Si bien JConsole no es tan sofisticado como algunas de las herramientas ofrecidas por los proveedores de servidores de aplicaciones, brinda información valiosa sobre el consumo de recursos y acceso a las MBeans en ejecución en la JVM. Al agregar MBeans a tus aplicaciones o utilizar un servidor de aplicaciones como JBoss que admita JMX, puedes extender fácilmente la funcionalidad estándar. JDK 6 incluso te permite agregar funcionalidad a la aplicación JConsole mediante complementos.

Cómo utilizar JConsole

JConsole requiere Java 5 o una versión posterior, por lo que si tienes una versión anterior, es hora de actualizar. Recomiendo utilizar Java 6, ya que su versión de JConsole tiene más funciones. Es posible utilizar JConsole de JDK 6 para conectarse a una JVM de JDK 5; solo te estarás perdiendo las funciones agregadas a la JVM en la versión 6.

Si estás utilizando Java 5 o 6, necesitas iniciar la aplicación que deseas monitorear pasando una bandera adicional a la JVM para habilitar el monitoreo. Supongamos que quieres iniciar MyJavaApp.jar con JMX habilitado. Si estás lanzando la aplicación desde la línea de comandos, simplemente agrega -Dcom.sun.management.jmxremote=true después del comando java, de la siguiente manera:

java -Dcom.sun.management.jmxremote=true -jar MyJavaApp.jar

JConsole se incluye con JDK (pero no con JRE) y se puede encontrar en el directorio %JDK_HOME%/bin. Para iniciar JConsole, abre una terminal o ventana de comandos, cambia al directorio que lo contiene y ejecuta jconsole. Cuando JConsole se inicia, muestra una ventana que enumera las JVM administradas en la máquina. Se muestran el identificador del proceso (pid) y los argumentos de línea de comandos para cada JVM de Java. Selecciona una de las JVM de Java y JConsole se conectará a ella. Verás una ventana principal similar a Figura A.

Cómo buscar en el historial de comandos en la terminal zsh

Figura A

La interfaz de JConsole en JDK 5 se compone de las siguientes seis pestañas:

  • Resumen muestra información resumida sobre la JVM y los valores monitoreados.
  • Memoria muestra información sobre el uso de memoria.
  • Hilos muestra información sobre el uso de hilos.
  • Clases muestra información sobre la carga de clases.
  • MBeans muestra información sobre las MBeans.
  • VM muestra información sobre la JVM.

La pestaña de Memoria se usa para monitorear el consumo de memoria de la aplicación monitoreada. Para verificar si hay fugas de memoria en tu aplicación, puedes iniciar una prueba de carga para crear una carga constante en la aplicación. Si la funcionalidad que estás probando durante la prueba de carga no contiene una fuga de memoria, el uso de memoria debe mantenerse entre un límite superior e inferior específico. Consulta Figura B.

Figura B

El monitoreo del consumo de memoria es solo una de las cosas útiles que puedes hacer con JConsole. También puedes monitorear el uso de CPU, detectar bloqueos en la pestaña de Hilos y utilizar la pestaña de MBeans para monitorear o gestionar partes específicas de la JVM o la aplicación que se ejecuta en ella.

¿Qué hay de nuevo en JDK 6?

A continuación, se muestra un resumen de los cambios en JConsole de JDK 5 a JDK 6:

Configuración de DNS en Windows: Cómo asignar el sufijo DNS y la lista de búsqueda
  • La pestaña Resumen se ha reemplazado con la pestaña Información general (ver Figura C). Esta pestaña muestra los gráficos de las pestañas de Memoria, Hilos y Clases, así como un gráfico del uso de CPU de la JVM, que no está disponible en JDK 5. La información de la pestaña Resumen se ha fusionado con la pestaña VM, que ahora se llama Resumen de la VM.
  • JConsole cuenta con una API de complementos para agregar funcionalidad personalizada.
  • JConsole puede utilizar la API para conectarse de forma dinámica a una JVM. Esto requiere una JVM Java 6. (Para conectarte a una JVM Java 5, la JVM debe iniciarse con -Dcom.sun.management.jmxremote).
  • Si te estás conectando a una JVM Java 6, encontrarás una nueva MBean de diagnóstico de HotSpot en la pestaña MBeans. Esta nueva MBean proporciona una API para solicitar un volcado de montón de forma dinámica y cambiar la configuración de ciertas opciones de la JVM.

Figura C

Referencias para más información

  • Usando JConsole para monitorear aplicaciones (Sun Microsystems)
  • JMX mantiene tus aplicaciones Java conectadas (Newsmatic)
  • Guía de JConsole J2SE 1.5

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo utilizar JConsole para monitorear y administrar aplicaciones Java , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.