PSM-Metriken zum Überwachen von Arbeitsspeicherproblemen verwenden
PSM verfolgt den Zeitraum, während dem die JVM aufgrund einer Garbage Collection nicht reagiert hat. Die Dauer der Aussetzung (nicht aktives Arbeiten) wird durch die Erstellung eines benutzerdefinierten Diagramms ermittelt, das über Charting > Custom > Server Side Performance > Agent Based Measures > Java Virtual Machine > Suspension Time verfügbar ist.
Mit dem empfohlenen Garbage First-Kollektor (G1) unterbricht die JVM die Aktivität jeweils maximal 200 ms. Im Allgemeinen bleibt ThingWorx mit Pausen im Bereich von 200 ms bis 5.000 ms reaktionsfähig. Das folgende Diagramm zeigt Szenarios, in denen die gesamte Anwendung über lange Zeit nicht reagiert.
Normalerweise entsprechen Zeiträume mit langsamer GC-Aktivität Zeiträumen mit hoher Arbeitsspeicherverwendung. Die auf Betriebssystemebene angezeigte Arbeitsspeicherverwendung ruft keine Daten darüber ab, wie viel Arbeitsspeicher Java intern für den Heap verwendet. Sie erhalten diese Informationen in PSM mithilfe der Option Charting > Custom > Server Side Performance > Agent Based Measures > Java Virtual Machine > Used Memory.
Wenn Java intern konsistent viel Arbeitsspeicher verwendet, kann es zu einem Leistungsengpass kommen. PSM wird verwendet, um einen beliebigen Zeitraum mit hoher GC-Aussetzung oder hoher Arbeitsspeicherverwendung genauer zu untersuchen und so die zugrunde liegenden Benutzertransaktionen zu diesem Zeitpunkt zu identifizieren. Lange PurePaths, die Arbeitsspeicherproblemen entsprechen, sollten untersucht werden.
PSM erstellt einen Vorfall, wenn die Anwendung nicht genügend Arbeitsspeicher aufweist. Wenn nicht genügend Arbeitsspeicher vorhanden ist, generiert PSM die beiden genannten Diagramme, um den Zeitpunkt der Spitze bei der Arbeitsspeicherverwendung zu identifiziere. Sie können bestimmte Transaktionen genauer untersuchen, indem Sie die PurePaths analysieren, die zu diesem Zeitpunkt ausgeführt wurden.
Empfehlung – Richten Sie die PSM-Warnungen oder einen täglichen Zeitplan ein, um die JVM-Aussetzungszeit und den verwendeten Arbeitsspeicher zu prüfen. Überwachen Sie auf alle Vorfälle in Bezug auf nicht ausreichend Arbeitsspeicher in PSM.