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:
Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retirada de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan Estándar por consumo y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el plan Estándar por consumo y dedicado de Azure Spring Apps a Azure Container Apps.
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.
En Azure Portal, vaya a la aplicación de destino y seleccione Solución de problemas.
En el panel Solución de problemas, seleccione la instancia de la aplicación y el tipo de volcado que desea recopilar.
En el campo Ruta de acceso del archivo, especifique la ruta de acceso de montaje del almacenamiento persistente.
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.