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:

  1. 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.

  2. 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.

  3. 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.

  4. Auf bekannte Probleme prüfen:

    • Überprüfen Sie die verwendete Version von org.apache.sling.jcr.resource auf 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.

  5. 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.

  6. Ü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.

Verwandtes Lesen

recommendation-more-help
experience-cloud-kcs-help-kbarticles