Modyfikowanie ustawień pamięci Java

W zależności od ruchu i wymagań dotyczących przetwarzania może być konieczna zmiana rozmiaru pamięci sterty lub rozmiaru metadanych węzłów w węzłach z komponentami Private Cloud opartymi na języku Java.

Ta sekcja zawiera domyślne i zalecane rozmiary pamięci sterty Javy oraz proces zmiany tych wartości. W tej sekcji dowiesz się, jak zmienić inne ustawienia JVM za pomocą plików właściwości.

Domyślne i zalecane rozmiary pamięci sterty

W tej tabeli podano domyślne i zalecane rozmiary pamięci sterty Javy dla komponentów prywatnej chmury opartych na Javie:

Komponent Nazwa pliku właściwości Domyślny
Rozmiar sterty
Zalecany
Rozmiar sterty
Środowisko wykonawcze
Cassandra Nie dotyczy Automatyczna konfiguracja1 Automatyczna konfiguracja1
procesor komunikatów message-processor.properties 512MB 3 GB – 6 GB2
Router router.properties 512MB 512MB
Analytics
Serwer Postgres postgres-server.properties 512MB 512MB
Serwer Qpid qpid-server.properties 512MB 2 GB – 4 GB
Zarządzanie
Serwer zarządzania management-server.properties 512MB 512MB
Interfejs użytkownika ui.properties 512MB 512MB
OpenLDAP Nie dotyczy Aplikacja natywna3 Aplikacja natywna3
Ogród zoologiczny zookeeper.properties 2048MB 2048MB
Uwagi

1 Cassandra dynamicznie oblicza maksymalny rozmiar sterty przy uruchamianiu. Obecnie odpowiada ona połowie pamięci systemowej (maksymalnie 8192 MB). Informacje o ustawianiu rozmiaru sterty znajdziesz w artykule Zmienianie rozmiaru pamięci sterty.

2 W przypadku podmiotów przetwarzających wiadomości Apigee zaleca ustawienie rozmiaru sterty na od 3 GB do 6 GB. Zwiększ rozmiar sterty powyżej 6 GB dopiero po wykonaniu testów wydajności.

Jeśli w trakcie testów wydajności wykorzystanie sterty zbliża się do limitu, zwiększ ten limit. Informacje o ustawianiu rozmiaru sterty znajdziesz w sekcji Zmienianie rozmiaru pamięci sterty.

3 Nie wszystkie komponenty Private Cloud są zaimplementowane w języku Java. Ponieważ nie opierają się na języku Java, aplikacje działające bezpośrednio na platformie hosta nie mają skonfigurowanych rozmiarów sterty środowiska Java. Zamiast tego polegają na systemie hosta na potrzeby zarządzania pamięcią.

Aby określić całkowitą ilość pamięci, którą Apigee zaleca w przydziale komponentów opartych na języku Java, dodaj podane wyżej wartości dla każdego komponentu w tym węźle. Jeśli na przykład Twój węzeł hostuje serwery Postgres i Qpid, Apigee zaleca, aby łączny przydział pamięci wynosił od 2,5 GB do 4,5 GB.

Listę wymaganych urządzeń (np. RAM) znajdziesz w artykule Wymagania dotyczące instalacji.

Zmienianie rozmiaru pamięci sterty

Aby zmienić ustawienia pamięci sterty, zmień jej plik właściwości. Na przykład w przypadku procesora wiadomości zmień plik /opt/apigee/customer/application/message-processor.properties.

Jeśli plik message-processor.properties nie istnieje lub odpowiedni plik .properties dowolnego komponentu Edge nie istnieje, utwórz plik, a następnie zmień jego własność na użytkownika „apigee”, jak pokazujemy w tym przykładzie:

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

Jeśli komponent jest zainstalowany na wielu komputerach, na przykład w Procesorze wiadomości, musisz edytować plik właściwości na wszystkich komputerach, na których go hostujesz.

W tabeli znajdziesz listę właściwości, które edytujesz w celu zmiany rozmiaru sterty:

Usługa Opis
bin_setenv_min_mem

Minimalny rozmiar sterty Wartość domyślna zależy od wartości określonych w sekcji Domyślne i zalecane rozmiary pamięci sterty.

To ustawienie odpowiada opcji -Xms Java.

bin_setenv_max_mem

Maksymalny rozmiar sterty. Wartość domyślna zależy od wartości określonych w sekcji Domyślne i zalecane rozmiary pamięci sterty.

To ustawienie odpowiada opcji -Xmx Java.

bin_setenv_meta_space_size

Domyślny rozmiar metadanych zajęć. Wartość domyślna to bin_setenv_max_permsize, czyli wartość domyślna to 128 MB. W przypadku procesora wiadomości Apigee zaleca ustawienie tej wartości na 256 MB lub 512 MB w zależności od natężenia ruchu.

To ustawienie odpowiada opcji -XX:MetaspaceSize Java.

Gdy ustawiasz właściwości rozmiaru sterty w węźle, użyj sufiksu „m”, aby wskazać megabajty, jak w tym przykładzie:

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

Po ustawieniu wartości w pliku właściwości uruchom ponownie komponent:

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

Na przykład:

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

Zmienianie innych właściwości JVM

W przypadku ustawień Javy, które nie są kontrolowane za pomocą wymienionych powyżej właściwości, możesz ustawić te ustawienia w odpowiednim pliku właściwości dowolnego komponentu Edge:

  • bin_setenv_ext_jvm_opts: ustaw dowolną właściwość Java, która nie jest określona przez inne właściwości. Na przykład:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    Nie używaj jednak właściwości bin_setenv_ext_jvm_opts do ustawiania wartości -Xms, -Xmx ani -XX:MetaspaceSize, ponieważ te wartości są kontrolowane za pomocą właściwości wymienionych powyżej.

Więcej wskazówek na temat konfigurowania pamięci dla komponentów Private Cloud znajdziesz w tym artykule na forach Edge.