Modyfikowanie ustawień pamięci Java

W zależności od wymagań dotyczących ruchu i przetwarzania może być konieczna zmiana pamięci stosu rozmiaru lub metadanych klas w węzłach działających w chmurze prywatnej w Javie

W tej sekcji znajdziesz domyślne i zalecane rozmiary pamięci sterty Java, a także podczas zmiany wartości domyślnych. Na koniec w tej sekcji opisaliśmy, 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 Java dla systemów opartych na Javie Komponenty chmury prywatnej:

Komponent Nazwa pliku właściwości Domyślny
Rozmiar sterty
Zalecany
Rozmiar sterty
Czas działania
Cassandra nie dotyczy Skonfigurowane automatycznie1 Konfiguracja automatyczna1
procesor komunikatów message‑processor.properties 512 MB 3–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
Miłośnik zoo zookeeper.properties 2048MB 2048MB
Uwagi

1 Cassandra oblicza dynamicznie maksymalny rozmiar stosu podczas uruchamiania. Obecnie jest to połowa łącznej pamięci systemowej, maksymalnie 8192 MB. Informacje o ustawianiu rozmiaru stosu znajdziesz w sekcji Zmienianie rozmiaru pamięci stosu.

2 W przypadku procesorów wiadomości Apigee zaleca ustawienie stosu od 3 do 6 GB. Zwiększ rozmiar stosu do ponad 6 GB dopiero po przeprowadzeniu testów wydajności.

Jeśli podczas testowania wydajności wykorzystanie sterty zbliża się do limitu, zwiększ maksymalnego limitu. Informacje o ustawianiu rozmiaru stosu znajdziesz w artykule Zmienianie rozmiaru pamięci stosu.

3 Nie wszystkie komponenty chmury prywatnej są zaimplementowane w języku Java. Ponieważ nie są oparte na Javie, aplikacje działające natywnie na platformie hosta nie mają konfigurowalne rozmiary sterty Java; bazują na systemie hosta i zarządzania nimi.

Aby określić łączną ilość pamięci zalecaną przez Apigee przydzielenie do opartej na Javie w węźle, 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 łączna alokacja pamięci wynosiła od 2,5 GB do 4,5 GB.

Listę wymaganych urządzeń (np. pamięci RAM) znajdziesz na stronie Wymagania dotyczące instalacji

Zmień rozmiary pamięci sterty

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

Jeśli plik message-processor.properties nie istnieje lub jeśli nie istnieje odpowiedni plik .properties dla żadnego komponentu Edge, utwórz go, a następnie zmień jego właściciela na użytkownika „apigee”, jak pokazano 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 na procesorze wiadomości, musi edytować plik właściwości na wszystkich komputerach, na których jest hostowany komponent.

Poniższa tabela zawiera właściwości, które możesz edytować, aby zmienić rozmiar sterty:

Właściwość Opis
bin_setenv_min_mem

Minimalny rozmiar sterty. Wartość domyślna jest określana na podstawie wartości podanych w sekcji Domyślne i zalecane rozmiary pamięci podręcznej.

To ustawienie odpowiada opcji Java -Xms.

bin_setenv_max_mem

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

To ustawienie odpowiada opcji Java -Xmx.

bin_setenv_meta_space_size

Domyślny rozmiar metadanych klasy. Wartość domyślna to bin_setenv_max_permsize, który domyślnie wynosi 128 MB. Na procesorze wiadomości Apigee zaleca ustawienie tej wartości na 256 MB lub 512 MB w zależności od ruchu.

To ustawienie odpowiada opcji Java -XX:MetaspaceSize.

Przy ustawianiu właściwości rozmiaru sterty w węźle używaj litery „m”, wskazuje megabajty, które ma być następujący przykład:

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 wymienione wyżej właściwości, możesz też określić w odpowiednim pliku właściwości dowolnego komponentu Edge:

  • bin_setenv_ext_jvm_opts: ustaw dowolną właściwość Javy, 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 atrybutu bin_setenv_ext_jvm_opts do ustawiania wartości -Xms, -Xmx ani -XX:MetaspaceSize, ponieważ wartości te są kontrolowane przez wymienione powyżej właściwości.

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