Beheben von Problemen mit Java-Heap und Metaspace-Speicher in Adobe Experience Manager 6.5.24
Erfahren Sie, wie Sie Java-Heap- und Metaspace OutOfMemory-Fehler in der Autoren- und Veröffentlichungsinstanz von AEM 6.5.24 diagnostizieren und beheben.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM) 6.5.24 Autoren- und Veröffentlichungsinstanzen, anwendbar auf jede Bereitstellungsumgebung (Entwicklung, Staging oder Produktion).
Symptome
-
Signifikante Steigerung der Java-Heap- und/oder Metaspace-Auslastung im Laufe der Zeit.
-
Instanzen reagieren aufgrund wiederholter OutOfMemoryError-Bedingungen nicht mehr oder stürzen ab.
-
Fehlerprotokolle enthalten Meldungen wie:
- java.lang.OutOfMemoryError: Java-Heap-Speicherplatz
- org.osgi.framework.ServiceException: Service Factory Ausnahme: Java Heap-Speicherplatz
-
Häufige Fehlermeldungen im Zusammenhang mit Fehlern bei der Ressourcenauflösung, z. B.:
- Ressource für tatsächliche Pfadfehler beim Auflösen nicht vorhandener Seitenpfade nicht gefunden
- Fehler bei der Modellanpassung, (Beispiel: Modell ist null, Seite nicht gefunden)
Ursache
OutOfMemory-Bedingungen sind in erster Linie auf eine Java-Heap-Erschöpfung zurückzuführen, die mit Fehlern bei der wiederholten Ressourcenauflösung und der Verarbeitung auf Anwendungsebene verbunden ist. In AEM 6.5.24 gibt es keinen bestätigten Metaspace-spezifischen Produktfehler. Eine weitere Analyse der Heap-Dumps und des Anwendungs-Codes ist erforderlich, um die Grundursache zu isolieren und zu beheben.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben:
-
Erfassen von Diagnosedaten:
-
Erfassen Sie Fehlerprotokolle, Heap-Dumps und Thread-Dumps sowohl von der Autoren- als auch von der Veröffentlichungsinstanz zum Zeitpunkt des OutOfMemoryError.
-
Überprüfen Sie die Garbage Collection (GC)-Protokolle auf Hinweise auf eine Metaspace- oder Java-Heap-Erschöpfung.
-
-
Analyse von Heap-Dumps:
-
Verwenden Sie ein Tool wie Eclipse Memory Analyzer (MAT), um Objekte oder Klassen mit der höchsten beibehaltenen Heap-Größe zu identifizieren.
-
Achten Sie auf ungewöhnliche Objektaufbewahrung, Speicherlecks oder übermäßige Aktivität bei der Ressourcenauflösung.
-
-
Anwendungs-Code überprüfen:
-
Untersuchen Sie benutzerdefinierten Code, insbesondere Komponenten, die an der Ressourcenauflösung und Modellanpassung beteiligt sind.
-
Beheben Sie alle Muster, die zu übermäßiger Speicherspeicherung oder wiederholten Fehlern führen können.
-
-
Auf bekannte Probleme prüfen:
-
Überprüfen Sie die verwendete Version von
org.apache.sling.jcr.resourceauf bekannte Probleme im Zusammenhang mit Ressourcen-Listenern oder der Sitzungsbeibehaltung. -
Konsultieren Sie Adobe AEMVersionshinweise und Experience League-Foren (z. B.: die AEM Experience League Community) für Hotfixes oder Service Packs, die Speicherprobleme in AEM 6.5.24 beheben.
-
-
Ressourcenauflösung optimieren:
-
Reduzieren Sie unnötige Ressourcenauflösungsversuche für nicht vorhandene Pfade.
-
Verarbeiten Sie Nullmodellanpassungen auf elegante Weise, um eine übermäßige Fehlerprotokollierung und Speichernutzung zu vermeiden.
-
-
Überwachen und Optimieren von JVM-Einstellungen:
-
Überprüfen Sie die Parameter für den JVM-Metaspace und die Heap-Größe und passen Sie sie entsprechend Ihrer Arbeitslast an.
-
Überwachen von Speichertrends nach Anwendung von Code- und Konfigurationsänderungen.
-
Stellen Sie nach Abschluss dieser Schritte sicher, dass sich die Speichernutzung stabilisiert und keine Fehler wegen unzureichendem Arbeitsspeicher mehr auftreten.