In Edge for Private Cloud 4.54.00 (das unter Java 21 ausgeführt wird) verwendet der Message Processor standardmäßig den Garbage-First Garbage Collector (G1GC). In diesem Dokument wird beschrieben, wie Sie die Einstellungen für die automatische Speicherbereinigung auf dem Message Processor konfigurieren und prüfen.
Garbage Collector auf den Message Processors anpassen
In diesem Abschnitt wird die Vorgehensweise zum Konfigurieren alternativer Einstellungen für die automatische Speicherbereinigung (Garbage Collection, GC) auf dem Edge Message Processor beschrieben. Sie verwalten GC Parameter, indem Sie die GC-Attribute auf dem Message Processor aktualisieren. Verwenden Sie die in Edge konfigurieren definierte Tokensyntax, um ein beliebiges Konfigurationsattribut anzupassen.
So ändern Sie die GC-Einstellungen auf den Message Processors:
GC-Attribut prüfen
In den folgenden Schritten wird beschrieben, wie Sie die konfigurierten GC-Attribute prüfen:
-
Suchen Sie mit dem folgenden
Befehl im Quellverzeichnis des Message Processors
/opt/apigee/edge-message-processor/sourcenach den GC-Attributen:grep -riE "useG1GC|useZGC|useStringDeduplication" /opt/apigee/edge-message-processor/source
-
Prüfen Sie, ob die Ausgabe dieses Befehls die Konfiguration der GC
Attribute für den Message Processor zeigt:
/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useZGC={T}conf_system_useZGC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}Die Zeichenfolge zwischen den Tags
{T}{/T}ist der Name des Attributs, das Sie in der `.properties`-Datei des Message Processors.propertiesfestlegen können.
GC auf den Message Processors ändern
In den folgenden Schritten wird beschrieben, wie Sie die GC-Einstellungen auf den Apigee Message Processors ändern:
-
Öffnen Sie die
/opt/apigee/customer/application/message-processor.propertiesDatei auf dem Message Processor-Computer in einem Editor. Wenn die Datei noch nicht vorhanden ist, erstellen Sie sie. Beispiel:vi /opt/apigee/customer/application/message-processor.properties
-
Fügen Sie die gewünschten GC-Konfigurationszeilen basierend auf Ihrem Zielprofil hinzu:
-
Option A: G1GC als Standard-Garbage Collector mit einigen
Änderungen verwenden:
conf_system_useG1GC=true conf_system_useStringDeduplication=true conf_system_g1gc.g1ReservePercent=15
-
Option B: Generational ZGC aktivieren (optional für Bereitstellungen mit extrem niedriger Latenz
):
conf_system_useG1GC=false conf_system_useZGC=true bin_setenv_max_meta_space_size=1024m
-
Option C: Allgemeine GC-Einstellung aktivieren :
Legen Sie
bin_setenv_ext_jvm_optsin der Überschreibungsdatei.propertiesder Komponente (/opt/apigee/customer/application/message-processor.properties) fest, um allgemeine GC-Attribute zu konfigurieren, und starten Sie die Komponente dann neu. Beispiel:conf_system_useG1GC=false conf_system_useZGC=false bin_setenv_ext_jvm_opts="-XX:+UseParallelGC"
-
Option A: G1GC als Standard-Garbage Collector mit einigen
Änderungen verwenden:
- Speichern Sie die Änderungen.
-
Prüfen Sie, ob der Nutzer
apigeeEigentümer dieser Attributdatei ist. Beispiel:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Starten Sie den Message Processor mit dem folgenden Befehl neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Wenn Sie mehr als einen Message Processor haben, wiederholen Sie diese Schritte für alle Message Processors.
String-Deduplizierung aktualisieren
Standardmäßig ist in der G1GC-Konfiguration UseStringDeduplication auf
true festgelegt. Dadurch wird die Arbeitsspeicherzuweisung des Java-Heaps optimiert, indem
identische String Werte ein einzelnes Zeichenarray gemeinsam nutzen können. Wenn Sie die String-Deduplizierung deaktivieren möchten, legen Sie conf_system_useStringDeduplication=false in /opt/apigee/customer/application/message-processor.properties fest und starten Sie den Message Processor neu, wie unter GC auf den Message Processors ändern beschrieben.
GC-Konfiguration auf den Message Processors prüfen
So prüfen Sie, ob Ihre Änderungen an der GC-Konfiguration auf den Message Processor angewendet wurden:
-
Suchen Sie im Verzeichnis
/opt/apigee/edge-message-processor/confnach dem GC-Attribut und prüfen Sie , ob es mit dem neuen Wert festgelegt wurde. Beispiel:grep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
Prüfen Sie, ob
/opt/apigee/edge-message-processor/conf/system.propertiesIhre neu konfigurierten Werte enthält. Beispiel: Die Einstellungen für Apigee Default GC werden so angezeigt:/opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true /opt/apigee/edge-message-processor/conf/system.properties:useZGC=false /opt/apigee/edge-message-processor/conf/system.properties:g1gc.maxGCPauseMillis=200 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.initiatingHeapOccupancyPercent=45 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.g1ReservePercent=15 /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
-
Prüfen Sie, ob der ausgeführte Message Processor-JVM-Prozess mit den
erwarteten
-XX:Flags gestartet wurde:ps -ef | grep edge-message-processor | grep -E "UseG1GC|UseZGC"
-
Prüfen Sie bei Apigee Default G1GC, ob die Befehlszeile Folgendes enthält:
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:G1ReservePercent=15 -XX:+UseStringDeduplication -XX:MaxMetaspaceSize=1024m -
Prüfen Sie bei Generational ZGC, ob die Befehlszeile Folgendes enthält:
-XX:+UseZGC -XX:+ZGenerational -XX:MaxMetaspaceSize=1024m
-
Prüfen Sie bei Apigee Default G1GC, ob die Befehlszeile Folgendes enthält:
- Wenn Sie die GC-Einstellungen weiterhin nicht konfigurieren können, wenden Sie sich an den Apigee Edge-Support.