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. W tej sekcji opisujemy, jak zmienić inne ustawień 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
Środowisko wykonawcze
Cassandra nie dotyczy Skonfigurowane automatycznie1 Skonfigurowane automatycznie1
procesor komunikatów message-processor.properties 512MB 3–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
Miłośnik zoo zookeeper.properties 2048MB 2048MB
Uwagi

1 Cassandra dynamicznie oblicza maksymalny rozmiar sterty, gdy po uruchomieniu. Obecnie jest to połowa całkowitej pamięci systemowej, a maksymalnie 8192MB. Informacje o ustawianiu rozmiaru stosu znajdziesz w sekcji Zmienianie sterty i rozmiaru pamięci.

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 sekcji Zmień rozmiar 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. Na przykład, jeśli węzeł hostuje serwery Postgres i Qpid, Apigee zaleca, aby łączna pamięć mieści się w zakresie 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 odpowiedni plik .properties dowolnego komponentu Edge nie istnieje, utwórz go, a następnie zmień własność pliku na „apigee” zgodnie z poniższym opisem przykład pokazuje:

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 oparta na wartościach wymienionych w Domyślne i zalecane rozmiary pamięci sterty.

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, czyli domyślnie 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ą Javę właściwość nieokreślona przez inne usługi. Na przykład:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    Nie używaj jednak nazwy bin_setenv_ext_jvm_opts do: ustaw -Xms, -Xmx lub -XX:MetaspaceSize, ponieważ te wartości są kontrolowane przez te właściwości.

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