Esta solución lo ayuda a configurar la recopilación de métricas lista para usar mediante agentes de CloudWatch para aplicaciones de JVM que se ejecutan en instancias de EC2. Además, lo ayuda a configurar un panel de CloudWatch preconfigurado. Para obtener información general sobre todas las soluciones de observabilidad de CloudWatch, consulte Soluciones de observabilidad de CloudWatch.
Temas
Requisitos
Esta solución es adecuada para las siguientes condiciones:
Versiones compatibles: Java LTS versiones 8, 11, 17 y 21
Recursos informáticos: Amazon EC2
Compatible con hasta 500 instancias de EC2 en todas las cargas de trabajo de JVM en una determinada Región de AWS
Versión más reciente del agente de CloudWatch
-
SSM Agent instalado en la instancia de EC2
nota
AWS Systems Manager (SSM Agent) está preinstalado en algunas Imágenes de máquina de Amazon (AMI) proporcionadas por AWS y terceros de confianza. Si el agente no está instalado, puede instalarlo manualmente mediante el procedimiento correspondiente al tipo de sistema operativo.
Ventajas
La solución ofrece supervisión de JVM, lo que proporciona información valiosa para los siguientes casos de uso:
-
Supervise el uso de la memoria acumulada y no acumulada de la JVM.
-
Analice la carga de subprocesos y clases para detectar problemas de simultaneidad.
-
Realice un seguimiento de la recopilación de elementos no utilizados para identificar las pérdidas de memoria.
-
Alterne entre diferentes aplicaciones de JVM configuradas a través de la solución en la misma cuenta.
A continuación se detallan las principales ventajas de la solución:
-
Automatiza la recopilación de métricas para NVIDIA mediante la configuración del agente de CloudWatch, lo que elimina la instrumentación manual.
-
Proporciona un panel de CloudWatch consolidado y preconfigurado para las métricas de JVM. El panel administrará automáticamente las métricas de las nuevas instancias de EC2 de JVM configuradas con la solución, incluso si esas métricas no existían cuando creó el panel por primera vez. También permite agrupar las métricas en aplicaciones lógicas para facilitar el enfoque y la administración.
La siguiente imagen muestra un ejemplo del panel para esta solución:

Costos
Esta solución crea y utiliza recursos en su espacio de trabajo. Se cobrará por el uso estándar, que incluye lo siguiente:
Las métricas recopiladas por el agente de CloudWatch se cobran como métricas personalizadas. La cantidad de métricas que utiliza esta solución depende de la cantidad de hosts de EC2.
Cada host de JVM configurado para la solución publica un total de 18 métricas más una métrica (
disk_used_percent
), cuyo recuento de métricas depende del número de rutas del host.
Un panel personalizado.
Operaciones de API solicitadas por el agente de CloudWatch para publicar las métricas. Con la configuración predeterminada de esta solución, el agente de CloudWatch llama a PutMetricData una vez por minuto para cada host de EC2. Esto significa que la API PutMetricData se llamará
30*24*60=43,200
en un mes de 30 días para cada host de EC2.
Para obtener más información sobre los precios de CloudWatch, consulte Precios de Amazon CloudWatch
La calculadora de precios puede ayudarlo a estimar los costos mensuales aproximados del uso de esta solución.
Para usar la calculadora de precios para estimar los costos mensuales de la solución
-
En Elegir una región, seleccione la región en la que desea implementar la solución.
-
En la sección Métricas, en Número de métricas, ingrese
(18 + average number of disk paths per EC2 host) * number of EC2 instances configured for this solution
. -
En la sección API, en Número de solicitudes de API, ingrese
43200 * number of EC2 instances configured for this solution
.De forma predeterminada, el agente CloudWatch realiza una operación PutMetricData por minuto para cada host de EC2.
En la sección Paneles y alarmas, en Número de paneles, escriba
1
.-
Puede ver sus costos mensuales estimados en la parte inferior de la calculadora de precios.
Configuración del agente de CloudWatch para esta solución
El agente de CloudWatch es un software que se ejecuta de forma continua y autónoma en sus servidores y en entornos contenerizados. Recopila métricas, registros y trazas de su infraestructura y aplicaciones y los envía a CloudWatch y X-Ray.
Para obtener más información sobre el agente de CloudWatch, consulte Recopile las métricas, registros y seguimientos con el agente de CloudWatch.
La configuración del agente de esta solución recopila las métricas fundamentales de la solución. El agente de CloudWatch se puede configurar para recopilar más métricas de JVM de las que muestra el panel de forma predeterminada. Para obtener una lista de todas las métricas de JVM que puede recopilar, consulte Recopilación de métricas de JVM. Para obtener información acerca de la configuración del agente de CloudWatch, consulte Métricas que el agente de CloudWatch ha recopilado.
Exponga los puertos de JMX para la aplicación de JVM
El agente de CloudWatch se basa en JMX para recopilar las métricas relacionadas con el proceso de JVM. Para que esto sea posible, debe exponer el puerto de JMX de la aplicación de JVM. Las instrucciones para exponer el puerto de JMX dependen del tipo de carga de trabajo que utilice para la aplicación de JVM. Para obtener estas instrucciones, consulte la documentación de su aplicación.
En general, para habilitar un puerto de JMX para la supervisión y la administración, debe configurar las siguientes propiedades del sistema para su aplicación de JVM. Asegúrese de especificar un número de puerto no utilizado. En el siguiente ejemplo se configura la JMX no autenticada. Si sus políticas o requisitos de seguridad requieren que habilite JMX con autenticación por contraseña o SSL para el acceso remoto, consulte la documentación de JMX
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=
port-number
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
Revise los scripts de inicio y los archivos de configuración de su aplicación para encontrar el mejor lugar para agregar estos argumentos. Al ejecutar un archivo .jar
desde la línea de comandos, este comando podría tener el siguiente aspecto, donde pet-search.jar
es el nombre del jar de la aplicación.
$ java -jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
pet-search.jar
Configuración del agente de CloudWatch para esta solución
Las métricas que el agente recopiló se definen en la configuración del agente. La solución proporciona configuraciones de agente para recopilar las métricas recomendadas con las dimensiones adecuadas para el panel de la solución.
Los pasos para implementar la solución se describen más adelante en Implementar el agente para su solución. La siguiente información tiene por objetivo ayudarlo a comprender cómo personalizar la configuración del agente para su entorno.
Debe personalizar algunas partes de la siguiente configuración de agente para su entorno:
El número de puerto de JMX es el que configuró en la sección anterior de esta documentación. Está en la línea
endpoint
de la configuración.ProcessGroupName
: proporcione nombres significativos para la dimensiónProcessGroupName
. Estos nombres deben representar el agrupamiento de clústeres, aplicaciones o servicios de las instancias de EC2 que ejecutan la misma aplicación o proceso. Esto lo ayuda a agrupar las métricas de las instancias que pertenecen al mismo grupo de procesos de JVM, lo que proporciona una visión unificada del rendimiento de los clústeres, las aplicaciones y los servicios en el panel de soluciones.
Por ejemplo, si tiene dos aplicaciones Java ejecutándose en la misma cuenta, una para la aplicación order-processing
y otra para la aplicación inventory-management
, debe establecer las dimensiones ProcessGroupName
correspondientes en la configuración del agente de cada instancia.
Para las instancias de la aplicación
order-processing
, configureProcessGroupName=order-processing
.Para las instancias de la aplicación
inventory-management
, configureProcessGroupName=inventory-management
.
Si sigue estas pautas, el panel de soluciones agrupará automáticamente las métricas en función de la dimensión ProcessGroupName
. El panel incluirá opciones desplegables para seleccionar y ver las métricas de un grupo de procesos específicos, lo que permitirá supervisar el rendimiento de los grupos de procesos individuales por separado.
Configuración del agente para los hosts de JVM
Utilice la siguiente configuración de agente de CloudWatch en las instancias de EC2 en las que se implementan las aplicaciones Java. La configuración se almacenará como parámetro en Parameter Store de SSM, como se detalla más adelante en Paso 2: almacene el archivo de configuración recomendado del agente de CloudWatch en Parameter Store de Systems Manager.
Sustituya ProcessGroupName
por el nombre de su grupo de procesos. Sustituya port-number
por el puerto JMX de su aplicación Java. Si JMX se habilitó con autenticación por contraseña o SSL para el acceso remoto, consulte Recopilación de las métricas de Java Management Extensions (JMX) para obtener información sobre cómo configurar el TLS o la autorización en la configuración del agente, según sea necesario.
Las métricas de EC2 que se muestran en esta configuración (la configuración se muestra fuera del bloque de JMX) solo funcionan para instancias de Linux y macOS. Si utiliza instancias de Windows, puede optar por omitir estas métricas en la configuración. Para obtener información sobre las métricas recopiladas en las instancias de Windows, consulte Métricas que el agente de CloudWatch recopila en instancias de Windows Server.
{
"metrics": {
"namespace": "CWAgent",
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
},
"metrics_collected": {
"jmx": [
{
"endpoint": "localhost:port-number
",
"jvm": {
"measurement": [
"jvm.classes.loaded",
"jvm.gc.collections.count",
"jvm.gc.collections.elapsed",
"jvm.memory.heap.committed",
"jvm.memory.heap.max",
"jvm.memory.heap.used",
"jvm.memory.nonheap.committed",
"jvm.memory.nonheap.max",
"jvm.memory.nonheap.used",
"jvm.threads.count"
]
},
"append_dimensions": {
"ProcessGroupName": "ProcessGroupName
"
}
}
],
"disk": {
"measurement": [
"used_percent"
]
},
"mem": {
"measurement": [
"used_percent"
]
},
"swap": {
"measurement": [
"used_percent"
]
},
"netstat": {
"measurement": [
"tcp_established",
"tcp_time_wait"
]
}
}
}
}
Implementar el agente para su solución
Existen varios métodos de instalación del agente de CloudWatch, según el caso de uso. Recomendamos usar Systems Manager para esta solución. Proporciona una experiencia de consola y simplifica la administración de una flota de servidores administrados en una sola cuenta de AWS. Las instrucciones de esta sección utilizan Systems Manager y están pensadas para cuando el agente de CloudWatch no se esté ejecutando con las configuraciones existentes. Puede comprobar si el agente de CloudWatch se está ejecutando siguiendo los pasos que se indican en Verifique que el agente de CloudWatch esté en ejecución.
Si ya ejecuta el agente de CloudWatch en los hosts de EC2 en los que se implementa la carga de trabajo y administra las configuraciones del agente, puede omitir las instrucciones de esta sección y seguir el mecanismo de implementación existente para actualizar la configuración. Asegúrese de combinar la configuración de agente de JVM con la configuración de agente existente y, a continuación, implemente la configuración combinada. Si utiliza Systems Manager para almacenar y administrar la configuración del agente de CloudWatch, puede combinar la configuración con el valor del parámetro existente. Para obtener más información, consulte Managing CloudWatch agent configuration files.
nota
El uso de Systems Manager para implementar las siguientes configuraciones de agente de CloudWatch reemplazará o sobrescribirá cualquier configuración de agente de CloudWatch existente en las instancias de EC2. Puede modificar esta configuración para adaptarla a su entorno o caso de uso únicos. Las métricas definidas en esta solución son las mínimas requeridas para el panel recomendado.
El proceso de implementación consta de los siguientes pasos:
Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios.
Paso 2: almacene el archivo de configuración recomendado del agente en Parameter Store de Systems Manager.
Paso 3: instale el agente de CloudWatch en una o más instancias de EC2 mediante una pila de AWS CloudFormation.
Paso 4: verifique que la configuración del agente sea correcta.
Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios
Debe conceder permiso a Systems Manager para instalar y configurar el agente de CloudWatch. También debe conceder permiso al agente de CloudWatch para publicar la telemetría de su instancia de EC2 en CloudWatch. Asegúrese de que el rol de IAM adjuntado a la instancia tenga adjuntas las políticas de IAM CloudWatchAgentServerPolicy y AmazonSSMManagedInstanceCore.
-
Para crear un rol, consulte Cree roles de IAM para utilizarlos con el agente de CloudWatch en instancias de Amazon EC2.
-
Después de crear el rol, adjunte el rol a sus instancias de EC2. Siga los pasos que se indican en Lanzar una instancia con un rol de IAM para adjuntar un rol al lanzar una nueva instancia de EC2. Para adjuntar un rol a una instancia de EC2 existente, siga los pasos que se indican en Adjuntar un rol de IAM a una instancia.
Paso 2: almacene el archivo de configuración recomendado del agente de CloudWatch en Parameter Store de Systems Manager
Parameter Store simplifica la instalación del agente de CloudWatch en una instancia de EC2 al almacenar y administrar los parámetros de configuración de forma segura, lo que elimina la necesidad de valores de codificación rígida. Esto garantiza un proceso de implementación más seguro y flexible, lo que permite una administración centralizada y facilita las actualizaciones de las configuraciones en varias instancias.
Siga los pasos a continuación para almacenar el archivo de configuración del agente de CloudWatch recomendado como parámetro en Parameter Store.
Para crear el archivo de configuración del agente de CloudWatch como parámetro
Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/
. Desde el panel de navegación, elija Administración de aplicaciones, Parameter Store.
Siga estos pasos para crear un nuevo parámetro para la configuración.
-
Elija Create parameter.
-
En el cuadro Nombre, ingrese un nombre que utilizará para hacer referencia al archivo de configuración del agente de CloudWatch en pasos posteriores. Por ejemplo,
AmazonCloudWatch-JVM-Configuration
. -
(Opcional) En el cuadro Descripción, escriba una descripción para el parámetro.
-
En Capa de parámetros, elija Estándar.
-
En Type, elija String.
En Tipo de datos, elija texto.
-
En el cuadro Valor, pegue el bloque JSON correspondiente que aparece en Configuración del agente para los hosts de JVM. Asegúrese de personalizar el valor de la dimensión de agrupación y el número de puerto tal y como se describe.
-
Elija Create parameter.
-
Paso 3: instale el agente de CloudWatch y aplique la configuración mediante una plantilla de AWS CloudFormation
Puede usar AWS CloudFormation para instalar el agente y configurarlo para que use la configuración del agente de CloudWatch que creó en los pasos anteriores.
Para instalar y configurar el agente de CloudWatch para esta solución
-
Abra el asistente de AWS CloudFormation Creación rápida de pilas mediante este enlace: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json
. -
Compruebe que la región seleccionada en la consola sea la región en la que se ejecuta la carga de trabajo de JVM.
-
En Nombre de la pila, ingrese un nombre para identificar esta pila, como
CWAgentInstallationStack
. -
En la sección Parámetros, especifique los siguientes parámetros:
-
En CloudWatchAgentConfigSSM, ingrese el nombre del parámetro de Systems Manager para la configuración del agente que creó anteriormente, por ejemplo
AmazonCloudWatch-JVM-Configuration
. -
Para seleccionar las instancias de destino, tiene dos opciones.
-
En el caso de InstanceIds, especifique una lista delimitada por comas de una lista de ID de instancia en los que desee instalar el agente de CloudWatch con esta configuración. Puede enumerar una sola instancia o varias instancias.
-
Si realiza una implementación a escala, puede especificar la TagKey y el TagValue correspondiente para dirigirse a todas las instancias de EC2 con esta etiqueta y valor. Si especifica una TagKey, debe especificar el TagValue correspondiente. (En el caso de un grupo de escalado automático, especifique
aws:autoscaling:groupName
para TagKey y especifique el nombre del grupo de escalado automático para que TagValue se implemente en todas las instancias del grupo de escalado automático).Si especifica tanto los parámetros InstanceIds como TagKeys, los InstanceIds tendrán prioridad y las etiquetas se ignorarán.
-
-
-
Revise la configuración y, a continuación, seleccione Crear pila.
Si quiere editar primero el archivo de plantilla para personalizarlo, seleccione la opción Cargar un archivo de plantilla en el Asistente de creación de pilas para cargar la plantilla editada. Para obtener más información, consulte Creación de una pila en la consola de AWS CloudFormation. Puede utilizar el siguiente enlace para descargar la plantilla: https://aws-observability-solutions.s3.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json
nota
Una vez completado este paso, este parámetro de Systems Manager se asociará a los agentes de CloudWatch que se ejecuten en las instancias de destino. Esto significa que:
-
Si se elimina el parámetro de Systems Manager, el agente se detendrá.
-
Si se edita el parámetro de Systems Manager, los cambios de configuración se aplicarán automáticamente al agente con la frecuencia programada, que es de 30 días por defecto.
-
Si desea aplicar inmediatamente los cambios a este parámetro de Systems Manager, debe volver a ejecutar este paso. Para obtener más información sobre asociaciones, consulte Trabajo con asociaciones en Systems Manager.
Paso 4: verifique que la configuración del agente sea correcta
Puede comprobar si el agente de CloudWatch está instalado siguiendo los pasos que se indican en Verifique que el agente de CloudWatch esté en ejecución. Si el agente de CloudWatch no está instalado ni en ejecución, asegúrese de haber configurado todo correctamente.
-
Asegúrese de haber adjuntado un rol con los permisos correctos a la instancia EC2, tal y como se describe en Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios.
-
Asegúrese de haber configurado correctamente el JSON para el parámetro de Systems Manager. Siga los pasos de Solución de problemas de la instalación del agente de CloudWatch con AWS CloudFormation.
Si todo está configurado correctamente, debería ver las métricas de la JVM publicadas en CloudWatch. Puede comprobar la consola de CloudWatch para verificar que se estén publicando.
Para comprobar que las métricas de JVM se publican en CloudWatch
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. Elija Métricas, Todas las métricas.
Asegúrese de haber seleccionado la región en la que implementó la solución y elija Namespaces personalizados, CWAgent.
Busque las métricas mencionadas en Configuración del agente para los hosts de JVM, por ejemplo
jvm.memory.heap.used
. Si ve los resultados de estas métricas, significa que las métricas se están publicando en CloudWatch.
Crear el panel de soluciones de JVM
El panel que proporciona esta solución presenta las métricas de la máquina virtual Java (JVM) subyacente del servidor. Ofrece una visión general de la JVM al agregar y presentar las métricas de todas las instancias, lo que proporciona un resumen de alto nivel del estado general y operativo. Además, el panel muestra un desglose de los principales contribuyentes (los 10 principales por widget de métrica) para cada métrica. Esto lo ayuda a identificar rápidamente los valores atípicos o las instancias que contribuyen de manera significativa a las métricas observadas.
El panel de soluciones no muestra las métricas de EC2. Para ver las métricas de EC2, tendrá que usar el panel automático de EC2 para ver las métricas ofrecidas de EC2 y usar el panel de la consola de EC2 para ver las métricas de EC2 recopiladas por el agente de CloudWatch. Para obtener más información sobre los paneles automáticos de los servicios de AWS, consulte Visualización de un panel de CloudWatch para un solo servicio de AWS.
Para crear el panel, puede usar las siguientes opciones:
Use la consola de CloudWatch para crear el panel.
Utilice la consola de AWS CloudFormation para implementar el panel.
Descargue la infraestructura de AWS CloudFormation como código e intégrela como parte de su automatización de integración continua (CI).
Al utilizar la consola de CloudWatch para crear un panel, puede obtener una vista previa del panel antes de crearlo y que se le cobre por ello.
nota
El panel creado con AWS CloudFormation en esta solución muestra las métricas de la región en la que se implementa la solución. Asegúrese de crear la pila de AWS CloudFormation en la región en la que se publican las métricas de JVM.
Si las métricas del agente de CloudWatch se publican en un namespace que no sea CWAgent
(por ejemplo, si proporcionó un namespace personalizado), tendrá que cambiar la configuración de CloudFormation para sustituir CWAgent
por el namespace personalizado que esté utilizando.
Para crear el panel mediante la consola de CloudWatch
nota
Actualmente, los paneles de soluciones muestran las métricas relacionadas con la recopilación de elementos no utilizados solo para el Recopilador de elementos no utilizados G1, que es el recopilador predeterminado para las versiones más recientes de Java. Si utiliza un algoritmo de recopilación de elementos no utilizados distinto, los widgets relacionados con la recopilación de elementos no utilizados están vacíos. Sin embargo, puede personalizar estos widgets si se cambia la plantilla de CloudFormation del panel y se aplica el tipo de recopilación de elementos no utilizados adecuado a la dimensión de nombre de las métricas relacionadas con la recopilación de elementos no utilizados. Por ejemplo, si utiliza la recolección de elementos no utilizados en paralelo, cambie name=\"G1 Young Generation\"
a name=\"Parallel GC\"
de la métrica de recuento de recopilación de elementos no utilizados jvm.gc.collections.count
.
-
Abra la consola de CloudWatch en Crear panel mediante este enlace: https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=JvmOnEc2&referrer=os-catalog
. -
Compruebe que la región seleccionada en la consola sea la región en la que se ejecuta la carga de trabajo de JVM.
-
Ingrese el nombre del panel, luego seleccione Crear panel.
Para diferenciar fácilmente este panel de otros paneles similares de otras regiones, recomendamos incluir el nombre de la región en el nombre del panel, por ejemplo
JVMDashboard-us-east-1
. -
Obtenga una vista previa del panel y seleccione Guardar para crearlo.
Para crear el panel de control mediante AWS CloudFormation
-
Abra el asistente de AWS CloudFormation Creación rápida de pilas mediante este enlace: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/JVM_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
. -
Compruebe que la región seleccionada en la consola sea la región en la que se ejecuta la carga de trabajo de JVM.
-
En Nombre de la pila, ingrese un nombre para identificar esta pila, como
JVMDashboardStack
. -
En la sección Parámetros, especifique el nombre del panel en el parámetro DashboardName.
Para diferenciar fácilmente este panel de otros paneles similares de otras regiones, recomendamos incluir el nombre de la región en el nombre del panel, por ejemplo
JVMDashboard-us-east-1
. -
Reconozca las capacidades de acceso para las transformaciones en Capacidades y transformaciones. Tenga en cuenta que CloudFormation no agrega ningún recurso de IAM.
-
Revise la configuración y, a continuación, seleccione Crear pila.
-
Cuando el estado de la pila sea CREATE_COMPLETE, elija la pestaña Recursos situada debajo de la pila creada y, a continuación, elija el enlace situado en ID físico para ir al panel. También puede acceder al panel en la consola de CloudWatch seleccionando Paneles en el panel de navegación izquierdo de la consola y buscando el nombre del panel en Paneles personalizados.
Si desea editar el archivo de plantilla para personalizarlo para cualquier propósito, puede usar la opción Cargar un archivo de plantilla en Crear asistente de pilas para cargar la plantilla editada. Para obtener más información, consulte Creación de una pila en la consola de AWS CloudFormation. Puede utilizar este enlace para descargar la plantilla: https://aws-observability-solutions.s3.amazonaws.com/JVM_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
nota
Actualmente, los paneles de soluciones muestran las métricas relacionadas con la recopilación de elementos no utilizados solo para el Recopilador de elementos no utilizados G1, que es el recopilador predeterminado para las versiones más recientes de Java. Si utiliza un algoritmo de recopilación de elementos no utilizados distinto, los widgets relacionados con la recopilación de elementos no utilizados están vacíos. Sin embargo, puede personalizar estos widgets si se cambia la plantilla de CloudFormation del panel y se aplica el tipo de recopilación de elementos no utilizados adecuado a la dimensión de nombre de las métricas relacionadas con la recopilación de elementos no utilizados. Por ejemplo, si utiliza la recolección de elementos no utilizados en paralelo, cambie name=\"G1 Young Generation\"
a name=\"Parallel GC\"
de la métrica de recuento de recopilación de elementos no utilizados jvm.gc.collections.count
.
Introducción al panel de JVM
Estas son algunas tareas que puede probar con el nuevo panel de JVM. Estas tareas permiten comprobar que el panel funciona correctamente y le proporcionan experiencia práctica en su uso para supervisar un grupo de procesos de JVM. A medida que las vaya probando, se familiarizará con la navegación por el panel y la interpretación de las métricas visualizadas.
Seleccionar un grupo de procesos
Utilice la lista desplegable del Nombre del grupo de procesos de JVM para seleccionar el grupo de procesos que desea supervisar. El panel se actualiza automáticamente para mostrar las métricas del grupo de procesos seleccionado. Si tiene varias aplicaciones o entornos de Java, cada uno puede representarse como un grupo de procesos independiente. Al seleccionar el grupo de procesos adecuado, se garantiza que se visualizan las métricas específicas de la aplicación o el entorno que se quiere analizar.
Revisar el uso de la memoria
En la sección de información general del panel, busque los widgets Porcentaje de uso de memoria apilada y Porcentaje de uso de memoria no apilada. Estos muestran el porcentaje de memoria apilada y no apilada que se utiliza en todas las JVM en el grupo de procesos seleccionado. Un porcentaje alto indica una posible presión de memoria que podría provocar problemas de rendimiento o excepciones OutOfMemoryError
. También puede desglosar el uso de la pila por host en Uso de memoria por host para comprobar los hosts con un uso elevado.
Analizar los subprocesos y las clases cargados
En la sección Subprocesos y clases cargados por host, busque los widgets Recuento de los 10 subprocesos principales y Las 10 clases más cargadas. Busque cualquier JVM con un número anormalmente alto de subprocesos o clases en comparación con otras. Demasiados subprocesos pueden indicar fugas de subprocesos o una concurrencia excesiva, mientras que un número elevado de clases cargadas podría indicar posibles fugas en el cargador de clases o una generación ineficiente de clases dinámicas.
Identificar los problemas de recopilación de elementos no utilizados
En la sección Recopilación de elementos no utilizados, encuentre los widgets 10 principales invocaciones de recopilaciones de elementos no utilizados por minuto y Duración de las 10 principales recopilaciones de elementos no utilizados para los distintos tipos de recopiladores de elementos no utilizados: Jóvenes, Concurrentes y mixtos. Busque cualquier JVM que tenga un número de recopilaciones inusualmente alto o que tenga una duración de recolección larga en comparación con otras. Esto podría indicar problemas de configuración o pérdidas de memoria.