Modyfikowanie ustawień pamięci Java

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

W tej sekcji znajdziesz domyślne i zalecane rozmiary pamięci sterty Java, a także proces zmiany wartości domyślnych. Na koniec znajdziesz informacje o tym, jak zmienić inne ustawienia JVM za pomocą plików właściwości.

Domyślne i zalecane rozmiary pamięci sterty

W tabeli poniżej znajdziesz domyślne i zalecane rozmiary pamięci sterty Javy dla komponentów chmury prywatnej opartej na Javie:

Komponent Właściwości nazwa pliku Domyślny
Rozmiar sterty
Zalecany
Rozmiar sterty
Środowisko wykonawcze
Cassandra Nie dotyczy Skonfigurowane automatycznie1 Skonfigurowane automatycznie1
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–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
opiekun zoologiczny zookeeper.properties 2048MB 2048MB
Uwagi

1 Cassandra dynamicznie oblicza maksymalny rozmiar sterty podczas uruchamiania. Obecnie jest to połowa całkowitej pamięci systemowej – maksymalnie 8192 MB. Informacje o ustawianiu rozmiaru sterty znajdziesz w sekcji Zmienianie rozmiaru pamięci sterty.

2 W przypadku procesorów do przetwarzania wiadomości Apigee zaleca ustawienie rozmiaru stosu między 3 GB a 6 GB. Zwiększ rozmiar sterty powyżej 6 GB dopiero po przeprowadzeniu testów wydajności.

Jeśli podczas testowania wydajności wykorzystanie sterty zbliży się do maksymalnego limitu, zwiększ 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. Nie są oparte na Javie, dlatego aplikacje uruchomione natywnie na platformie hosta nie mają konfigurowalnych rozmiarów sterty Java. Zamiast tego do zarządzania pamięcią odpowiadają systemowi hosta.

Aby określić łączną ilość pamięci, jaką Apigee zaleca przydzielenie do komponentów opartych na Javie w węźle, dodaj wymienione powyżej wartości dla każdego komponentu w danym węźle. Jeśli na przykład węzeł hostuje zarówno serwery Postgres, jak i Qpid, Apigee zaleca, aby łączna ilość pamięci wynosiła od 2,5 GB do 4,5 GB.

Listę wymaganych urządzeń (np. pamięci RAM) znajdziesz w sekcji Wymagania instalacji.

Zmiana rozmiarów pamięci sterty

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

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

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

Jeśli komponent jest zainstalowany na wielu komputerach, takich jak procesor wiadomości, musisz edytować plik właściwości na wszystkich komputerach, które hostują ten komponent.

W tabeli poniżej znajdziesz właściwości, które możesz edytować w celu zmiany rozmiaru sterty:

Właściwość Opis
bin_setenv_min_mem

Minimalny rozmiar sterty. Wartość domyślna jest oparta na wartościach wymienionych w sekcji Domyślne i zalecane rozmiary pamięci sterty.

To ustawienie odpowiada opcji -Xms w Javie.

bin_setenv_max_mem

Maksymalny rozmiar sterty. Wartość domyślna jest oparta na wartościach wymienionych w sekcji Domyślne i zalecane rozmiary pamięci sterty.

To ustawienie odpowiada opcji -Xmx w Javie.

bin_setenv_meta_space_size

Domyślny rozmiar metadanych klasy. Wartością domyślną jest bin_setenv_max_permsize, która domyślnie wynosi 128 MB. W przypadku procesora wiadomości Apigee zaleca ustawienie tej wartości na 256 MB lub 512 MB w zależności od ruchu.

To ustawienie odpowiada opcji -XX:MetaspaceSize w Javie.

Gdy ustawisz właściwości rozmiaru sterty w węźle, użyj sufiksu „m”, aby wskazać megabajty, jak pokazano w poniższym 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 ponownie uruchom komponent:

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

Na przykład:

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

Zmień inne właściwości JVM

W przypadku ustawień Javy, które nie są kontrolowane przez właściwości wymienione powyżej, możesz też określić te wartości 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. Przykład:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

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

Dodatkowe wskazówki dotyczące konfigurowania pamięci dla komponentów Private Cloud znajdziesz w tym artykule na forach Edge.