Utilisation des mesures PSM pour surveiller les problèmes de mémoire
PMS suit la durée pendant laquelle la JVM ne répond pas du fait d'un garbage collection. Le temps de suspension (pas d'exécution active) peut être déterminé en générant un graphique personnalisé à l'aide de l'option Charting > Custom > Server Side Performance > Agent Based Measures > Java Virtual Machine > Suspension Time.
Avec le collecteur G1 (Garbage First) recommandé, la JVM suspend l'activité sur une durée maximale de 200 ms à la fois. En règle générale, ThingWorx continue de répondre avec des pauses comprises entre 200 ms et 5 000 ms. Le graphique suivant illustre des scénarios dans lesquels l'application dans son ensemble ne répond plus pendant de longues périodes.
En général, les périodes d'activité GC lente correspondent aux périodes de forte consommation de mémoire. La consommation de mémoire, indiquée au niveau du système d'exploitation, ne récupère pas de données sur la quantité de mémoire utilisée en interne par Java pour son segment de mémoire. Vous pouvez obtenir ces informations dans PSM à l'aide de l'option Charting > Custom > Server Side Performance > Agent Based Measures > Java Virtual Machine > Used Memory.
Lorsque Java utilise sans cesse une grande quantité de mémoire en interne, cela peut donner lieu à un goulot d'étranglement néfaste aux performances. PSM permet d'explorer en détail toute période de longue suspension GC ou de consommation élevée de mémoire afin d'identifier les transactions utilisateur sous-jacentes à ce moment-là. Les PurePaths longs qui correspondent à des problèmes de mémoire doivent être examinés.
PSM crée un incident si l'application est à court de mémoire. Pour toute condition de mémoire insuffisante, PSM génère les deux graphiques mentionnés pour vous aider à identifier à quel moment est survenu le pic de consommation de mémoire. Vous pouvez explorer des transactions spécifiques en analysant les PurePaths exécutés à ce moment-là.
Recommandation : configurez la fonction d'alerte PSM ou établissez un calendrier quotidien pour vérifier les temps de suspension de la JVM et la consommation de mémoire. Surveillez les incidents de mémoire insuffisante dans PSM.