Utilización de métricas de PSM para supervisar incidencias de memoria
PMS permite realizar un seguimiento del período de tiempo en el que JVM no responde debido a la recopilación de basura. La cantidad de tiempo dedicado a la suspensión (sin realizar ningún trabajo de manera activa) se determina mediante la creación de un gráfico personalizado, que está disponible en la opción Charting > Custom > Server Side Performance > Agent Based Measures > Java Virtual Machine > Suspension Time.
Con el recolector Garbage First (G1) recomendado, JVM suspende la actividad durante un máximo de 200 ms a la vez. Por lo general, ThingWorx sigue respondiendo con pausas en el rango de 200 ms a 5000 ms. En el siguiente gráfico se muestran escenarios en los que toda la aplicación deja de responder durante períodos largos.
Normalmente, los períodos de actividad de GC lenta corresponden a períodos de uso elevado de la memoria. El uso de la memoria, que se muestra en el nivel del sistema operativo, no recupera datos sobre la cantidad de memoria que Java utiliza internamente en su montón. Esta información se puede obtener en PSM mediante la opción Charting > Custom > Server Side Performance > Agent Based Measures > Java Virtual Machine > Used Memory.
Cuando Java utiliza de forma constante una capacidad de memoria elevada a nivel interno, se puede producir un obstáculo en el rendimiento. PSM se utiliza para explorar en profundidad cualquier período de suspensión elevada de GC o uso elevado de la memoria para identificar las transacciones de usuario subyacentes en ese momento. Se deben investigar los PurePaths largos que corresponden a incidencias de memoria.
PSM crea un incidente si la aplicación se encuentra en el estado de memoria insuficiente. Para cualquier condición de memoria insuficiente, PSM genera los dos gráficos mencionados para ayudar a identificar cuándo se ha producido el pico de uso de la memoria. Se pueden explorar en profundidad las transacciones específicas analizando los PurePaths que se han ejecutado en ese momento.
Recomendación: configure la alerta de PSM o una programación diaria para verificar el tiempo de suspensión de JVM y la memoria utilizada. Supervise los incidentes de memoria insuficiente en PSM.