Java-Speichereinstellungen ändern

Je nach Ihren Traffic- und Verarbeitungsanforderungen müssen Sie möglicherweise die Größe des Heap-Arbeitsspeichers oder die Größe der Klassenmetadaten für die Knoten ändern, auf denen Java-basierte Private Cloud-Komponenten ausgeführt werden.

In diesem Abschnitt finden Sie die standardmäßigen und empfohlenen Java-Heap-Arbeitsspeichergrößen sowie die Vorgehensweise zum Ändern der Standardwerte. Abschließend wird in diesem Abschnitt beschrieben, wie Sie mithilfe von Attributdateien andere JVM-Einstellungen ändern können.

Standard- und empfohlene Heap-Arbeitsspeichergrößen

In der folgenden Tabelle sind die standardmäßigen und empfohlenen Java-Heap-Speichergrößen für Java-basierte Private Cloud-Komponenten aufgeführt:

Komponente Eigenschaftendateiname Standard-
Heap-Größe
Empfohlene
Heap-Größe
Laufzeit
Cassandra Automatisch konfiguriert1 Automatisch konfiguriert1
Message Processor message-processor.properties 512 MB 3 GB–6 GB2
Router router.properties 512 MB 512 MB
Analytics
Postgres-Server postgres-server.properties 512 MB 512 MB
Qpid-Server qpid-server.properties 512 MB 2 GB–4 GB
Verwaltung
Verwaltungsserver management-server.properties 512 MB 512 MB
UI ui.properties 512 MB 512 MB
OpenLDAP Native App3 Native App3
Zookeeper zookeeper.properties 2.048 MB 2.048 MB
Hinweise

1 Cassandra berechnet die maximale Heap-Größe beim Start dynamisch. Derzeit ist dies die Hälfte des gesamten Systemspeichers mit maximal 8.192 MB. Informationen zum Festlegen der Heap-Größe finden Sie unter Größe des Heap-Arbeitsspeichers ändern.

2 Bei Nachrichtenprozessoren empfiehlt Apigee, dass Sie die Heap-Größe auf einen Wert zwischen 3 GB und 6 GB festlegen. Erhöhen Sie die Heap-Größe nur nach Durchführung von Leistungstests auf über 6 GB.

Wenn sich die Heap-Nutzung während der Leistungstests dem maximalen Limit nähert, erhöhen Sie das Limit. Informationen zum Festlegen der Heap-Größe finden Sie unter Größe des Heap-Arbeitsspeichers ändern.

3 Nicht alle Private Cloud-Komponenten sind in Java implementiert. Da sie nicht auf Java basieren, haben Anwendungen, die nativ auf der Hostplattform ausgeführt werden, keine konfigurierbaren Java-Heap-Größen. Stattdessen nutzen sie das Hostsystem für die Speicherverwaltung.

Fügen Sie die oben aufgeführten Werte für jede Komponente auf diesem Knoten hinzu, um zu ermitteln, wie viel Gesamtarbeitsspeicher Apigee Ihnen empfiehlt, den Sie Ihren Java-basierten Komponenten auf einem Knoten zuzuweisen. Wenn Ihr Knoten beispielsweise sowohl die Postgres- als auch die Qpid-Server hostet, empfiehlt Apigee, dass Ihre kombinierte Arbeitsspeicherzuweisung zwischen 2,5 GB und 4,5 GB liegt.

Eine Liste der erforderlichen Hardware (z. B. RAM) finden Sie unter Installationsanforderungen.

Heap-Arbeitsspeichergrößen ändern

Wenn Sie die Einstellungen für den Heap-Speicher ändern möchten, bearbeiten Sie die Eigenschaftendatei der Komponente. Bearbeiten Sie beispielsweise für den Message Processor die Datei /opt/apigee/customer/application/message-processor.properties.

Wenn die Datei message-processor.properties nicht oder die entsprechende .properties-Datei für eine Edge-Komponente nicht vorhanden ist, erstellen Sie sie und ändern Sie dann die Eigentümerschaft der Datei in den Nutzer „apigee“, wie im folgenden Beispiel gezeigt:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

Wenn die Komponente auf mehreren Computern installiert ist, wie zum Beispiel dem Message Processor, müssen Sie die Eigenschaftendatei auf allen Computern bearbeiten, auf denen die Komponente gehostet wird.

In der folgenden Tabelle sind die Attribute aufgeführt, die Sie zum Ändern der Heap-Größe bearbeiten:

Property Beschreibung
bin_setenv_min_mem

Die minimale Heap-Größe. Der Standardwert basiert auf den Werten, die unter Standardmäßige und empfohlene Heap-Arbeitsspeichergrößen aufgeführt sind.

Diese Einstellung entspricht der Java-Option -Xms.

bin_setenv_max_mem

Die maximale Heap-Größe. Der Standardwert basiert auf den Werten, die unter Standardmäßige und empfohlene Heap-Arbeitsspeichergrößen aufgeführt sind.

Diese Einstellung entspricht der Java-Option -Xmx.

bin_setenv_meta_space_size

Die Standardgröße der Klassenmetadaten. Der Standardwert ist bin_setenv_max_permsize, der standardmäßig 128 MB beträgt. Für den Message Processor empfiehlt Apigee, dass Sie diesen Wert je nach Traffic auf 256 MB oder 512 MB festlegen.

Diese Einstellung entspricht der Java-Option -XX:MetaspaceSize.

Wenn Sie die Heap-Größenattribute für einen Knoten festlegen, verwenden Sie das Suffix „m“, um Megabyte anzugeben, wie im folgenden Beispiel gezeigt:

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

Nachdem Sie die Werte in der Eigenschaftendatei festgelegt haben, starten Sie die Komponente neu:

/opt/apigee/apigee-service/bin/apigee-service component restart

Beispiel:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Andere JVM-Attribute ändern

Bei Java-Einstellungen, die nicht über die oben aufgeführten Eigenschaften gesteuert werden, können Sie in der entsprechenden Eigenschaftsdatei für eine Edge-Komponente auch Folgendes festlegen:

  • bin_setenv_ext_jvm_opts: Legt Java-Attribute fest, die nicht in anderen Attributen angegeben sind. Beispiel:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    Verwenden Sie jedoch nicht bin_setenv_ext_jvm_opts, um -Xms, -Xmx oder -XX:MetaspaceSize festzulegen, da diese Werte von den oben aufgeführten Attributen gesteuert werden.

Weitere Tipps zum Konfigurieren des Arbeitsspeichers für Private Cloud-Komponenten finden Sie in diesem Artikel in den Edge-Foren.