Compartir vía


Captura del volcado de memoria del montón y del volcado de memoria de subproceso manualmente y uso de Java Flight Recorder en Azure Spring Apps

Nota:

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise

En este artículo se describe cómo generar manualmente un volcado de memoria de montón o un volcado de memoria de subproceso, y cómo iniciar Java Flight Recorder (JFR).

Solucionar los problemas de forma eficaz es fundamental para asegurarse de que puede corregir problemas de los entornos de producción y mantener su negocio en línea. Azure Spring Apps proporciona streaming y consulta de registros de aplicaciones, emisión de métricas enriquecidas, alertas, seguimiento distribuido, etc. Sin embargo, cuando recibe alertas sobre solicitudes con latencia alta, pérdida de montón de JVM o uso elevado de CPU, no hay ninguna solución de último tramo. Por este motivo, le hemos permitido generar manualmente un volcado de memoria del montón, generar un volcado de memoria de subproceso e iniciar JFR.

Requisitos previos

  • Una instancia del servicio Azure Spring Apps implementada. Para comenzar, consulte Inicio rápido: Implementación de la primera aplicación en Azure Spring Apps.
  • Al menos una aplicación ya creada en su instancia de servicio.
  • Su propio almacenamiento persistente, como se describe en Habilitación del almacenamiento persistente en Azure Spring Apps. Este almacenamiento se usa para guardar los archivos de diagnóstico generados. Las rutas de acceso que proporcione en los valores de parámetro siguientes deben estar en la ruta de acceso de montaje del almacenamiento persistente enlazado a la aplicación. Si quiere usar una ruta de acceso en la ruta de acceso de montaje, asegúrese de crear la subruta de acceso de antemano.

Generación de un volcado de memoria del montón

Use el siguiente comando para generar un volcado de memoria del montón de la aplicación en Azure Spring Apps.

az spring app deployment generate-heap-dump \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --app <app-name> \
    --deployment <deployment-name> \
    --app-instance <app-instance name> \
    --file-path <your-target-file-path-in-your-persistent-storage-mount-path>

Generación de un volcado de memoria de subprocesos

Use el siguiente comando para generar un volcado de memoria de subproceso de la aplicación en Azure Spring Apps.

az spring app deployment generate-thread-dump \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --app <app-name> \
    --deployment <deployment-name> \
    --app-instance <app-instance name> \
    --file-path <your-target-file-path-in-your-persistent-storage-mount-path>

Inicio de JFR

Use el siguiente comando para iniciar JFR para la aplicación en Azure Spring Apps.

az spring app deployment start-jfr \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --app <app-name> \
    --deployment <deployment-name> \
    --app-instance <app-instance name> \
    --file-path <your-target-file-path-in-your-persistent-storage-mount-path> \
    --duration <duration-of-JFR>

El valor predeterminado de duration es 60 segundos.

Generación de archivos mediante Azure Portal

Realice los pasos siguientes para generar un volcado de memoria del montón o de subproceso de la aplicación en Azure Spring Apps.

  1. En Azure Portal, vaya a la aplicación de destino y seleccione Solución de problemas.

    Captura de pantalla de Azure Portal en la que se muestra la página de información general de la aplicación con el botón Solución de problemas destacado.

  2. En el panel Solución de problemas, seleccione la instancia de la aplicación y el tipo de volcado que desea recopilar.

    Captura de pantalla del panel Solución de problemas de Azure Portal.

  3. En el campo Ruta de acceso del archivo, especifique la ruta de acceso de montaje del almacenamiento persistente.

  4. Seleccione Recopilar.

Obtención de archivos de diagnóstico

Vaya a la ruta de acceso del archivo de destino en el almacenamiento persistente y busque el volcado de memoria o el JFR. Desde ahí, puede descargarlo en la máquina local. El nombre del archivo generado será similar a <app-instance>_heapdump_<time-stamp>.hprof para el volcado de memoria del montón, <app-instance>_threaddump_<time-stamp>.txt para el volcado de memoria de subproceso y <app-instance>_JFR_<time-stamp>.jfr para el archivo JFR.

Pasos siguientes