Intellij Idea - Perfilado

Profiler brinda información sobre su aplicación, como su CPU, memoria y uso del montón. También brinda detalles sobre los hilos de la aplicación. Este capítulo analiza el uso de la herramienta VisualVM para la creación de perfiles de aplicaciones Java. Puede perfilar entidades como CPU y montón.

Se recomienda que los lectores de este tutorial estén familiarizados con los conceptos del generador de perfiles de aplicaciones.

Introducción

VisualVM es una herramienta visual que integra herramientas JDK y le brinda potentes capacidades de creación de perfiles. Le permite generar y analizar datos de pila, rastrear fugas de memoria, monitorear el recolector de basura y realizar perfiles de memoria y CPU.

Beneficios

  • Interfaz visual para aplicaciones Java locales y remotas que se ejecutan en JVM.

  • Monitoreo del uso de memoria de la aplicación y comportamiento en tiempo de ejecución de la aplicación.

  • Monitoreo de subprocesos de aplicaciones

  • Analizar las asignaciones de memoria a diferentes aplicaciones.

  • Volcados de hilo: muy útil en caso de puntos muertos y condiciones de carrera.

  • Volcados de pila: muy útiles para analizar la asignación de memoria de pila.

Configuración

En esta sección, aprenderemos los pasos realizados para configurar VisualVM. Los pasos son los siguientes:

  • Descárgalo desde aquí .

  • Extrae el archivo zip.

  • Vaya al archivo etc / visualvm.conf y agregue la siguiente línea en este archivo:

visualvm_jdkhome=<path of JDK>
  • Si su JDK está instalado en el C:\Program Files\Java\jdk-9.0.1 directorio, entonces debería verse así:

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

Aplicación de monitorización

Veamos ahora cómo monitorear la aplicación. Considere los siguientes pasos para comprender lo mismo:

  • Haga doble clic en el archivo visualvm.exe.
  • Seleccione la aplicación del panel izquierdo.
  • Seleccione la pestaña del monitor.

Se le dirigirá a una ventana donde obtendrá los detalles sobre CPU, Heap, Clases y subprocesos. Para ser específico con el uso, pase el mouse sobre cualquier gráfico. Podemos ver el uso de Heap en la captura de pantalla anterior.

Información sobre los hilos

La aplicación Java puede contener varios hilos de ejecución. Para saber más sobre los hilos, seleccione la pestaña de hilos de una aplicación en particular. Proporcionará varias estadísticas sobre subprocesos, como el número de subprocesos activos y subprocesos de demonio. Los diferentes estados del hilo son En ejecución, En reposo, En espera, Estacionar y Supervisar.

Aplicación de muestreo

VisualVM admite CPU, muestreo de memoria y detección de fugas de memoria. Para probar la aplicación, seleccione la aplicación y elija la pestaña de muestra -

Muestreo de CPU

Para el muestreo de CPU, haga clic en el botón CPU como se muestra en la siguiente captura de pantalla:

Perfiles de memoria

Para crear perfiles de memoria, haga clic en el botón Memoria como se muestra en la siguiente captura de pantalla:

Pérdidas de memoria

Se produce una pérdida de memoria cuando una aplicación, mientras se ejecuta, llena lentamente el montón con objetos que el programa no elimina automáticamente.

Si un objeto que no es utilizado por el programa no se elimina, permanece en la memoria y el GC no puede recuperar su espacio. Si la cantidad de bytes y la cantidad de instancias en su aplicación aumentaran de manera constante y significativa en su programa hasta el punto de usar todo el espacio, esto puede ser una indicación de una pérdida de memoria.

Aplicación de perfiles

En esta sección, aprenderemos cómo perfilar una aplicación. Para perfilar una aplicación, seleccione la aplicación del panel izquierdo y haga clic en la pestaña de perfil -

Perfilado de CPU

Para realizar el perfil de la CPU, haga clic en el botón CPU como se muestra en la captura de pantalla a continuación:

Perfiles de memoria

Para realizar el perfil de la CPU, haga clic en el botón CPU como se muestra en la captura de pantalla a continuación: