Geringe Leistung auf Java 7

Geringe Leistung auf Java 7

Die Leistung von AEM auf Java 7 nimmt plötzlich ab und Thread-Sicherungskopien erhalten keinen Hinweis auf eine Thread-Ursache. Viele Threads befinden sich im Zustand RUNNABLE und führen Teile des Codes aus, die bekanntermaßen keine Fehler enthalten.

Die zugrunde liegende Ursache dieses Problems ist, dass in Java 7 das CodeCache-Problem auftritt, das in Stapelüberlauf – Fragen und Antworten beschrieben ist.

Zusammengefasst wird in Java 7, sobald der CodeCache voll ist, das JIT angehalten, dann beinahe ein Drittel des CodeCache-Bereichs geleert, das JIT dann aber nicht wieder aktiviert.

Ergebnis dieses Szenarios ist die deutlich langsamere Ausführung des Java-Codes, der entweder aus dem Code-Cache entfernt oder nie von JVM ausgeführt wurde. Aus diesem Grund erfolgt die Antwort einiger Anforderungen, die nur auf JIT-kompilierten Code treffen, weiterhin mit den üblichen Antwortzeiten, während andere Anforderungen wesentlich länger dauern.

Lösung: Java-Version aktualisieren oder Leeren des Code-Caches deaktivieren

Es gibt drei mögliche Lösungen:

  • Upgrade auf Java 8, das nicht von diesem Leistungsproblem betroffen ist. Dies ist die sicherste Lösung.
  • Upgrade auf Java 1.7.0_101-b14, für das Java SE-Unterstützung von Oracle erforderlich ist, da Java 7 seit Mai 2015 ausgelaufen ist.
  • Deaktivieren Sie das Leeren des Code-Caches und erhöhen Sie die Cachegröße, indem Sie die folgenden JVM-Argumente zum AEM-Anfangsskript hinzufügen: 
    • -XX:-UseCodeCacheFlushing
    • -XX:ReservedCodeCacheSize=90M

Diese Argumente legen eine Code-Cache-Größe von 90 MB (anstelle der standardmäßigen 48 MB) fest und deaktivieren das Leeren des Code-Caches, sodass bei einem Überlauf des Code-Caches vorhandener Hot Code nicht im Interpreter-Modus ausgeführt wird (nur neuer Code wird nicht mehr kompiliert). Überwachen Sie die Code-Cache-Größe einige Zeit lang (z. B. mithilfe von jconsole), um sicherzustellen, dass der konfigurierte Maximalwert nicht zu niedrig ist. Beachten Sie, dass Sie diese Einstellungen nach einem Upgrade auf Java 8 entfernen müssen.

 .

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX

The Creativity Conference

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX

The Creativity Conference

14. bis 16. Oktober in Miami Beach und online