Ustawienia wirtualnej maszyny języka Java

Ta strona umożliwia wyświetlanie i zmianę ustawień konfiguracyjnych wirtualnej maszyny języka Java związanych z procesem serwera aplikacji.

Aby wyświetlić tę stronę Konsoli administracyjnej, należy nawiązać połączenie z Konsolą administracyjną i przejść do panelu wirtualnej maszyny języka Java.

[AIX Solaris HP-UX Linux Windows] [iSeries] W przypadku systemu IBM i oraz platform rozproszonych kliknij opcję Serwery > Typy serwerów > Serwery aplikacji WebSphere > nazwa_serwera. Następnie w sekcji Infrastruktura serwera kliknij opcję Język Java i zarządzanie procesami > Definicja procesu > Wirtualna maszyna języka Java.

[z/OS] Dla platformy z/OS należy użyć jednej z następujących ścieżek opcji.
Serwer aplikacji Kliknij opcję Serwery>Typy serwerów>Serwery aplikacji WebSphere> nazwa_serwera. Następnie w sekcji Infrastruktura serwera kliknij opcję Język Java i zarządzanie procesami > Definicja procesu > Sterowanie > Wirtualna maszyna języka Java .
Menedżer wdrażania Kliknij opcję Administrowanie systemem > Menedżer wdrażania. Następnie w sekcji Infrastruktura serwera kliknij opcję Język Java i zarządzanie procesami > Definicja procesu > Sterowanie > Wirtualna maszyna języka Java .
Agent węzła Kliknij opcję Administrowanie systemem > Agent węzła > agent_węzła. Następnie w sekcji Infrastruktura serwera kliknij opcję Język Java i zarządzanie procesami > Definicja procesu > Wirtualna maszyna języka Java.
[AIX Solaris HP-UX Linux Windows] [iSeries] Dla systemu IBM i oraz platform rozproszonych należy użyć jednej z następujących ścieżek opcji.
Serwer aplikacji Serwery > Typy serwerów > Serwery aplikacji WebSphere > nazwa_serwera. Następnie w sekcji Infrastruktura serwera kliknij opcję Język Java i zarządzanie procesami > Definicja procesu > Wirtualna maszyna języka Java.
Menedżer wdrażania Administrowanie systemem > Menedżer wdrażania. Następnie w sekcji Infrastruktura serwera kliknij opcję Język Java i zarządzanie procesami > Definicja procesu > Wirtualna maszyna języka Java.
Agent węzła Administrowanie systemem > Agent węzła > agent_węzła. Następnie w sekcji Infrastruktura serwera kliknij opcję Język Java i zarządzanie procesami > Definicja procesu > Wirtualna maszyna języka Java.
Ścieżka klasy

Określa standardową ścieżkę klasy, w której kod wirtualnej maszyny języka Java szuka klas.

Aby dodać ścieżkę klasy do tego pola, należy wprowadzić każdą ścieżkę klasy w oddzielnym wierszu tabeli. Nie trzeba dodawać dwukropka ani średnika na końcu każdej pozycji.

W tym polu należy dodać wyłącznie ścieżki klas określające położenie następujących elementów:
  • Narzędzie kontroli lub monitorowania danego systemu.
  • Pliki JAR dla produktu działającego w tym produkcie.
  • Poprawki diagnostyczne JVM.
Błędy przetwarzania mogą wystąpić, jeśli ścieżki klas dodane do tego pola określają położenie następujących elementów:
  • Pliki JAR dla dostawców zasobów, takich jak baza danych DB2. Ścieżki do tych plików JAR powinny zostać dodane do ścieżek klas odpowiedniego dostawcy.
  • Plik JAR użytkownika używany przez co najmniej jedną aplikację działającą w danym produkcie. Ścieżka do pliku JAR tego typu powinna zostać określona w każdej aplikacji wymagającej tego pliku JAR lub we współużytkowanych bibliotekach powiązanych z serwerem.
  • Plik JAR rozszerzenia. Aby dodać plik JAR rozszerzenia do systemu, należy użyć właściwości niestandardowej maszyny JVM ws.ext.dirs w celu określenia bezwzględnej ścieżki do tego pliku JAR. Można również umieścić plik JAR w katalogu WAS_HOME/lib/ext/, ale zalecanym sposobem określania ścieżki do pliku JAR rozszerzenia jest użycie niestandardowej właściwości maszyny JVM ws.ext.dirs.
Typ danych String
Startowa ścieżka klasy

Określa klasy i zasoby programu startowego dla kodu wirtualnej maszyny języka Java. Ta opcja jest dostępna tylko dla instrukcji maszyny JVM, które obsługują klasy i zasoby programu startowego.

Aby dodać ścieżkę klasy do tego pola, należy wprowadzić każdą ścieżkę klasy w oddzielnym wierszu tabeli. Na końcu każdej pozycji nie trzeba dodawać dwukropka ani średnika.

Aby dodać wiele ścieżek klas do tego pola, w celu ich rozdzielenia należy użyć dwukropka (:) lub średnika (;), w zależności od systemu operacyjnego, w którym rezyduje maszyna JVM.

Aby dodać wiele ścieżek klas do tego pola, w celu ich rozdzielenia należy użyć dwukropka (:) lub średnika (;), w zależności od systemu operacyjnego, w którym rezyduje węzeł.

W tym polu należy dodać wyłącznie ścieżki klas określające położenie następujących elementów:
  • Narzędzie kontroli lub monitorowania danego systemu.
  • Pliki JAR dla produktu działającego w tym produkcie.
  • Poprawki diagnostyczne JVM.
Błędy przetwarzania mogą wystąpić, jeśli ścieżki klas dodane do tego pola określają położenie następujących elementów:
  • Pliki JAR dla dostawców zasobów, takich jak baza danych DB2. Ścieżki do tych plików JAR powinny zostać dodane do ścieżek klas odpowiedniego dostawcy.
  • Plik JAR użytkownika używany przez co najmniej jedną aplikację działającą w danym produkcie. Ścieżka do pliku JAR tego typu powinna zostać określona w każdej aplikacji wymagającej tego pliku JAR lub we współużytkowanych bibliotekach powiązanych z serwerem.
  • Plik JAR rozszerzenia. Aby dodać plik JAR rozszerzenia do systemu, należy użyć właściwości niestandardowej maszyny JVM ws.ext.dirs w celu określenia bezwzględnej ścieżki do tego pliku JAR. Można również umieścić plik JAR w katalogu WAS_HOME/lib/ext/, ale zalecanym sposobem określania ścieżki do pliku JAR rozszerzenia jest użycie niestandardowej właściwości maszyny JVM ws.ext.dirs.
Szczegółowe ładowanie klasy

Określa, czy podczas ładowania klas mają być generowane szczegółowe dane wyjściowe debugowania. Domyślnie szczegółowe komunikaty ładowania klas nie są włączone.

[AIX Solaris HP-UX Linux Windows] Jeśli szczegółowe komunikaty ładowania klas są włączone, dane wyjściowe debugowania są wysyłane do jednego z dzienników procesu rodzimego.

Typ danych Boolean
Wartość domyślna fałsz
Szczegółowe czyszczenie pamięci

Określa, czy podczas czyszczenia pamięci mają być generowane szczegółowe dane wyjściowe debugowania. Domyślnie opcja szczegółowego czyszczenia pamięci jest wyłączona.

[AIX Solaris HP-UX Linux Windows] Jeśli szczegółowe komunikaty czyszczenia pamięci są włączone, dane wyjściowe debugowania są wysyłane do jednego z dzienników procesu rodzimego.

Typ danych Boolean
Wartość domyślna fałsz

Jeśli to pole jest aktywne, podczas każdego uruchomienia czyszczenia pamięci do strumienia wyjściowego zapisywany jest raport. Ten raport pozwala uzyskać informacje na temat przebiegu procesu czyszczenia pamięci środowiska Java.

Sprawdzenie raportu szczegółowych danych czyszczenia pamięci umożliwia określenie:
  • Czasu przeznaczanego przez wirtualną maszynę języka Java na przeprowadzenie czyszczenia pamięci.
    Optymalnie wirtualna maszyna języka Java powinna przeznaczać na wykonywanie czyszczenia pamięci mniej niż 5 procent czasu przetwarzania. Aby określić procent czasu przeznaczonego przez wirtualną maszynę języka Java na czyszczenie pamięci, należy podzielić czas poświęcony na wykonanie czyszczenia przez czas od ostatniego niepowodzenia w przydzielaniu pamięci i pomnożyć wynik przez 100. Na przykład:
    83,29/3724,32 * 100 = 2,236 %

    Jeśli na czyszczenie pamięci jest poświęcane więcej niż 5% czasu użytkownika i jest ono wykonywane często, może być konieczne zwiększenie wielkości sterty Java.

  • Czy przydzielony obszar sterty zwiększa się po każdym czyszczeniu pamięci.

    Aby określić, czy przydzielony obszar sterty zwiększa się, należy sprawdzić, jaki procent sterty po każdym cyklu czyszczenia pamięci pozostaje nieprzydzielony, a następnie sprawdzić, czy ten procent nie zmniejsza się. Jeśli procent wolnego miejsca zmniejsza się, oznacza to występuje stopniowy wzrost obszaru sterty po każdym czyszczeniu pamięci. Może to wskazywać na występowanie w aplikacji przecieku pamięci.

[z/OS] Na platformie z/OS można także użyć komendy konsoli MVS modify display, jvmheap, aby wyświetlić informacje o stercie maszyny JVM. Dodatkowo można też sprawdzić działanie serwera i przedział między rekordami SMF. Wielkość sterty maszyny JVM jest również dostępna dla infrastruktury monitorowania wydajności (PMI) i może być monitorowana przy użyciu przeglądarki Tivoli Performance Viewer.

Szczegółowe wywoływanie metod JNI

Określa, czy podczas wywoływania metod rodzimych mają być generowane szczegółowe dane wyjściowe debugowania. Domyślnie opcja szczegółowego wywoływania działania interfejsu Java Native Interface (JNI) jest wyłączona.

Typ danych Boolean
Wartość domyślna fałsz
Początkowa wielkość sterty

Służy do określania (w megabajtach) początkowej wielkości sterty dostępnej dla kodu maszyny JVM. Jeśli to pole pozostanie puste, zostanie użyta wartość domyślna.

[z/OS] W systemie z/OS domyślna początkowa wielkość sterty dla kontrolera wynosi 48 MB, a dla elementu podrzędnego 128 MB. Te wartości domyślne mają zastosowanie zarówno do 31-bitowych, jak i 64-bitowych konfiguracji.

[AIX Solaris HP-UX Linux Windows] [iSeries] W systemie IBM i oraz na platformach rozproszonych domyślna początkowa wielkość sterty wynosi 50 MB.

Sprawdzona procedura: Te domyślne wartości są odpowiednie dla większości aplikacji.bprac
[iSeries] Unikanie problemów: W systemie IBM i początkowa wielkość sterty musi zawsze być mniejsza niż maksymalna wielkość sterty. Ustawienie tej samej wartości dla właściwości początkowej i maksymalnej wielkości sterty jest niedozwolone.gotcha

Zwiększenie wartości tego ustawienia może poprawić uruchamianie. Liczba zdarzeń czyszczenia pamięci zostaje zredukowana i uzyskiwany jest wzrost wydajności o 10%.

Zwiększenie wielkości sterty Java zwiększa przepustowość, dopóki sterta nie stanie się zbyt duża, aby rezydować w pamięci fizycznej. Jeśli jednak wielkość sterty przekracza wielkość dostępnej pamięci fizycznej i występuje stronicowanie, następuje zauważalne zmniejszenie wydajności.

Maksymalna wielkość sterty

Służy do określania w megabajtach maksymalnej wielkości sterty dostępnej dla kodu maszyny JVM. Jeśli to pole pozostanie puste, zostanie użyta wartość domyślna.

Domyślna maksymalna wielkość sterty wynosi 256 MB. Wartość ta dotyczy zarówno konfiguracji 31-bitowych, jak i 64-bitowych.

Zwiększenie maksymalnej wielkości sterty może poprawić uruchamianie. Zwiększając wielkość sterty, można zmniejszyć liczbę zdarzeń czyszczenia pamięci i uzyskać wzrost wydajności o 10 procent.

Zwiększenie tego ustawienia zwykle zwiększa przepustowość, dopóki sterta nie stanie się zbyt duża, aby rezydować w pamięci fizycznej. Jeśli jednak wielkość sterty przekracza wielkość dostępnej pamięci fizycznej i występuje stronicowanie, następuje zauważalne zmniejszenie wydajności. Z tego powodu ważne jest, aby wartość określona dla tej właściwości umożliwiała przechowywanie sterty w pamięci fizycznej.

[z/OS] W celu zapobieżenia stronicowaniu należy tak ustawić wartości tej właściwości, aby zostało przydzielone co najmniej 256 MB pamięci fizycznej na każdy procesor oraz 512 MB pamięci fizycznej na każdy serwer aplikacji. Jeśli użycie procesora jest niskie z powodu stronicowania, należy zwiększyć dostępną pamięć, zamiast zwiększać maksymalną wielkość sterty. Zwiększenie maksymalnej wielkości sterty może zmniejszyć wydajność.

[iSeries] Jeśli w systemie IBM i ta właściwość jest ustawiona na wartość 0, funkcja czyszczenia pamięci jest uruchamiana tylko po przekroczeniu progu czyszczenia pamięci. Jeśli zostanie podana wartość różna od 0, czyszczenia pamięci jest uruchamiane po osiągnięciu przez stertę określonej wielkości maksymalnej. Mimo to, inaczej niż w przypadku normalnego czyszczenia pamięci, po osiągnięciu maksymalnej wielkości sterty wszystkie wątki aplikacji muszą zaczekać na zakończenie procesu czyszczenia pamięci, zanim będą mogły kontynuować działanie. Może to powodować niepożądane przerwy. Z tego powodu wartości maksymalnej wielkości sterty należy używać jako zabezpieczenia umożliwiającego obsługiwanie wystąpień nieoczekiwanych przyrostów wielkości sterty i jako środka uniemożliwiającego zwiększenie wielkości sterty do wartości przekraczającej ilość dostępnej pamięci. W normalnych warunkach osiągnięcie określonej maksymalnej wartości sterty nie powinno nastąpić nigdy.

Sprawdzona procedura: Te domyślne wartości są odpowiednie dla większości aplikacji. Należy włączyć właściwość Szczegółowe czyszczenie pamięci, jeśli wydaje się, że czyszczenie pamięci następuje zbyt często. Jeśli czyszczenie pamięci następuje zbyt często, należy zwiększyć maksymalną wielkość sterty JVM.bprac
Uruchom klasyfikator HProf [AIX Solaris HP-UX Linux Windows] [iSeries]

Określa, czy ma być używany klasyfikator HProf. Aby korzystać z innego klasyfikatora, określ ustawienia klasyfikatora niestandardowego za pomocą ustawienia Argumenty klasyfikatora HProf. Domyślnie opcja obsługi klasyfikatora HProf jest wyłączona.

Jeśli opcja Uruchom klasyfikator HProf zostanie ustawiona na wartość true (prawda), należy podać argumenty klasyfikatora wiersza komend jako wartości właściwości Argumenty klasyfikatora HProf.

Typ danych Boolean
Wartość domyślna fałsz
Argumenty klasyfikatora HProf [AIX Solaris HP-UX Linux Windows] [iSeries]

Określa argumenty profilu wiersza komend, które są przekazywane do kodu maszyny JVM uruchamiającej proces serwera aplikacji. W celu określenia argumentów należy włączyć obsługę klasyfikatora HProf.

Argumenty klasyfikatora HProf są wymagane tylko wtedy, gdy właściwość Uruchom klasyfikator HProf zostanie ustawiona na wartość true (prawda).

Tryb debugowania

Określa, czy maszyna JVM ma być uruchamiana w trybie debugowania. Domyślnie obsługa trybu debugowania jest wyłączona.

Jeśli opcja Tryb debugowania zostanie ustawiona na wartość true (prawda), należy podać argumenty debugowania wiersza komend jako wartości właściwości Argumenty debugowania.

Typ danych Boolean
Wartość domyślna fałsz
Argumenty debugowania

Określa argumenty wiersza komend trybu debugowania, które są przekazywane do kodu maszyny JVM uruchamiającej proces serwera aplikacji. Argumenty można określić, gdy właściwość Tryb debugowania jest ustawiona na wartość true (prawda).

Jeśli włączona jest opcja debugowania na wielu serwerach aplikacji w tym samym węźle, sprawdź, czy dla argumentu adresu nie jest ustawiona ta sama wartość. Argument adresu definiuje port używany do debugowania. Jeśli dwa serwery, dla których debugowanie jest włączone, są skonfigurowane tak, że używają tego samego portu debugowania, mogą nie zostać odpowiednio uruchomione. Na przykład oba serwery mogą być skonfigurowane z zastosowaniem tego samego argumentu debugowania adres=7777, który jest domyślną wartością argumentu adresu debugowania.

Jeśli włączona jest opcja debugowania na wielu serwerach aplikacji, sprawdź, czy dla argumentu adresu nie jest ustawiona ta sama wartość. Argument adresu definiuje port używany do debugowania. Jeśli dwa serwery, dla których debugowanie jest włączone, są skonfigurowane tak, że używają tego samego portu debugowania, mogą nie zostać odpowiednio uruchomione. Na przykład oba serwery mogą być skonfigurowane z zastosowaniem tego samego argumentu debugowania adres=7777, który jest domyślną wartością argumentu adresu debugowania.

Typ danych String
Jednostki Argumenty wiersza komend języka Java
Ogólne argumenty wirtualnej maszyny języka Java

Określa argumenty wiersza komend, które mają być przekazywane do kodu wirtualnej maszyny języka Java uruchamiającego proces serwera aplikacji.

W polu Ogólne argumenty wirtualnej maszyny języka Java można wprowadzić następujące opcjonalne argumenty wiersza komend. Jeśli wpisujesz więcej niż jeden argument, rozdzielaj poszczególne argumenty spacją.
Unikanie problemów: Jeśli argument określa, że jest przeznaczony tylko dla pakietu IBM Developer Kit, nie można używać tego argumentu z maszyną JVM innego dostawcy, na przykład firmy Microsoft lub Hewlett-Packard.gotcha
  • [z/OS] [AIX Solaris HP-UX Linux Windows] hotRestartSync:

    Określ opcję hotRestartSync, aby włączyć funkcję szybkiej synchronizacji restartu w usłudze synchronizacji. Ta funkcja wskazuje usłudze synchronizacji, że instalacja działa w środowisku, w którym aktualizacje konfiguracji nie są przeprowadzane, gdy menedżer wdrażania jest nieaktywny. Dlatego po zrestartowaniu serwera menedżera wdrażania lub agenta węzła nie jest konieczne przeprowadzanie pełnego porównania repozytoriów. Włączenie tej funkcji poprawia efektywność pierwszej operacji synchronizacji po restarcie menedżera wdrażania lub agenta węzła, zwłaszcza w przypadku instalacji zawierających komórki mieszanych wersji, kilka węzłów lub kilka uruchomionych aplikacji.

  • -Dcom.ibm.CORBA.RequestTimeout=okres_limitu_czasu

    Ten argument ma zastosowanie tylko w systemie z/OS. Określ argument -Dcom.ibm.CORBA.RequestTimeout=okres_limitu_czasu, aby ustawić limit czasu odpowiedzi na żądania wysyłane przez klienta. Argument ten korzysta z opcji -D. Okres_limitu_czasu to limit czasu w sekundach. Jeśli w sieci występują bardzo duże opóźnienia, należy podać dużą wartość, by zapobiec przekroczeniom limitu czasu. Jeśli podasz zbyt małą wartość, serwer aplikacji uczestniczący w zarządzaniu obciążeniem może przekroczyć limit czasu przed otrzymaniem odpowiedzi.

    Ustaw ten argument tylko wtedy, gdy w aplikacji występują problemy z limitami czasu. Nie istnieją zalecane wartości dla tego argumentu.

  • -Dcom.ibm.websphere.wlm.unusable.interval=okres

    Ten argument ma zastosowanie tylko w systemie z/OS. Określ argument -Dcom.ibm.websphere.wlm.unusable.interval=okres_limitu_czasu, aby zmienić wartość dla właściwości com.ibm.websphere.wlm.unusable.interval, jeśli stan zarządzania obciążeniem klienta jest odświeżany zbyt wcześnie lub zbyt późno. Ta właściwość określa w sekundach czas, przez który uruchamianie klienta zarządzania obciążeniem czeka od chwili, gdy oznacza ono serwer jako niedostępny, do próby ponownego kontaktu z serwerem. Argument ten korzysta z opcji -D. . Wartością domyślną jest 300 sekund. Jeśli dla właściwości tej zostanie ustawiona zbyt wysoka wartość, serwer zostaje oznaczony jako niedostępny przez długi okres czasu. Zapobiega to odświeżaniu stanu zarządzania obciążeniem klienta przez protokół odświeżania zarządzania obciążeniem, dopóki nie upłynie dany okres czasu.

  • [z/OS] -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=

    Ten argument ma zastosowanie tylko w systemie z/OS. Określ argument -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= w celu wskazania, że pamięć masowa dla indywidualnych buforów bezpośrednich bajtów powinna zostać zwolniona w momencie, gdy bufor staje się zbędny. Jedyna obsługiwana wartość dla tego argumentu to com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl.

    Bezpośrednie bufory bajtów tworzone przez maszynę JVM do obsługi danych żądań są przydzielane do sterty środowiska Language Environment (LE), a nie do sterty maszyny JVM. Zwykle, zwłaszcza gdy bezpośrednie bufory bajtów nie są już niezbędne, wirtualna maszyna języka Java nie uwalnia rodzimej pamięci masowej środowiska LE aż do momentu wystąpienia czyszczenia pamięci. Jeśli serwer obsługuje duże żądania, pamięć masowa środowiska LE może zostać wyczerpana, zanim maszyna JVM uruchomi cykl czyszczenia pamięci, co może spowodować nieoczekiwane zakończenie działania serwera (abend). Skonfigurowanie wirtualnej maszyny języka Java przy użyciu następującego argumentu zapobiega występowaniu tych nieoczekiwanych zakończeń działania.
    -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl

    [z/OS] Na platformie z/OS konieczne jest także określenie tego argumentu. Ma to miejsce wtedy, gdy określona jest właściwość niestandardowa zaioFreeInitialBuffers dla kanału TCP w celu zwolnienia przez ten kanał początkowych buforów odczytu używanych w przypadku nowych połączeń, tak szybko jak te bufory przestaną być niezbędne dla połączenia.

  • [AIX Solaris HP-UX Linux Windows] [z/OS] Server a klient

    Technologia Java HotSpot w środowisku Java SE 6 korzysta z adaptacyjnych algorytmów maszyny JVM, które z czasem umożliwiają optymalizację wykonywania kodu bajtowego. Maszyna JVM działa w dwóch trybach, -server (serwer) i -client (klient). W większości przypadków użyj trybu -server zapewniającego efektywniejszy czas wykonywania w dłuższych okresach.

    Jeśli używany jest domyślny tryb -client, czas uruchamiania będzie krótszy, a ślad w pamięci mniejszy. Jednak wydajność w dłuższym czasie będzie niższa. Użyj trybu -server, który zwiększa wydajność, chyba że czas uruchamiania serwera jest bardziej istotny niż wydajność. Można monitorować wielkość procesu oraz czas uruchamiania serwera w celu sprawdzenia różnicy między trybami -client i -server.

    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xquickstart
    Określ opcję -Xquickstart, aby użyć początkowej kompilacji na poziomie optymalizacji niższym niż w trybie domyślnym. Później, w zależności od wyników próbkowania, można ponownie kompilować na poziom początkowej kompilacji w trybie domyślnym.
    Sprawdzona procedura: Użyj opcji -Xquickstart w przypadku aplikacji, w których wczesna umiarkowana prędkość jest ważniejsza niż przepustowość w dłuższym okresie. W określonych scenariuszach debugowania, zastosowaniach testowych i krótko działających narzędziach, czas uruchamiania można poprawić w granicach 15-20 procent.bprac
    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xverify:none

    Określ opcję -Xverify:none, aby zignorować etap weryfikacji klasy podczas ładowania klas. Użycie opcji -Xverify:none powoduje wyłączenie weryfikacji klas języka Java, co umożliwia skrócenie czasu uruchamiania o 10-15 procent. Jednak w przypadku określenia tego argumentu uszkodzone lub niepoprawne klasy danych nie są wykrywane. W przypadku załadowania uszkodzonej klasy danych wirtualna maszyna języka Java może zachowywać się w nieoczekiwany sposób lub może dla niej wystąpić niepowodzenie.

    Unikanie problemów:
    • Nie używaj tego argumentu w przypadku wprowadzania modyfikacji kodu bajtowego, ponieważ w przypadku jakiegokolwiek błędu instrumentacji może wystąpić niepowodzenie wirtualnej maszyny języka Java.
    • W przypadku wystąpienia błędu wirtualnej maszyny języka Java lub jej nieoczekiwanego zachowania po ustawieniu tego argumentu, usuń ten argument w pierwszym kroku debugowania problemu dotyczącego wirtualnej maszyny języka Java.
    • [iSeries] System IBM i nie obsługuje tego argumentu.
    gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xnoclassgc

    Określ argument -Xnoclassgc, aby wyłączyć czyszczenie pamięci klasy. Użycie tego argumentu prowadzi do większego stopnia ponownego wykorzystania klasy i nieco zwiększa wydajność. Jednak zasoby zajęte przez te klasy są używane nawet wtedy, gdy klasy nie są wywoływane.

    Unikanie problemów: Czyszczenie pamięci klas ma z reguły niewielki wpływ na wydajność, a wyłączenie funkcji czyszczenia pamięci klas w systemie wykorzystującym platformę Java Platform, Enterprise Edition (Java EE), w którym są intensywnie używane programy ładujące klasy aplikacji, może spowodować przeciek pamięci danych klas i wywołać w maszynie JVM wyjątek Brak pamięci. gotcha

    Można użyć ustawienia konfiguracji verbose:gc, aby monitorować czyszczenie pamięci. Powstających danych wyjściowych można użyć do określenia wpływu odzyskania tych zasobów na wydajność.

    Jeśli podczas ponownego wdrożenia aplikacji zostanie podany argument -Xnoclassgc, należy zrestartować serwer aplikacji w celu wyczyszczenia klas i danych statycznych, które pozostały po poprzedniej wersji aplikacji.

    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu. Aby wyłączyć czyszczenie pamięci klasy na tej platformie, należy użyć argumentu -noclassgc.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xgcthreads

    Określ argument -Xgcthreads, aby użyć wielu wątków czyszczenia pamięci równocześnie. Ta technika czyszczenia pamięci jest określana jako równoległe czyszczenie pamięci. Ten argument jest poprawny tylko dla pakietu IBM Developer Kit.

    Wpisując tę wartość w polu Ogólne argumenty wirtualnej maszyny języka Java, należy wpisać także liczbę procesorów znajdujących się w komputerze. Jeśli na przykład w komputerze znajdują się trzy procesory, wprowadź wartość -Xgcthreads 3. W węźle z liczbą procesorów wynoszącą n, domyślna liczba wątków wynosi n.

    Sprawdzona procedura: Równoległe czyszczenie pamięci powinno być użyte wtedy, gdy komputer ma więcej niż jeden procesor.bprac
    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu. gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xnocompactgc

    Określ argument -Xnocompactgc, aby wyłączyć kompaktowanie sterty. Kompaktowanie sterty to najbardziej kosztowna operacja przy czyszczeniu pamięci. Używając pakietu IBM Developer Kit, należy unikać kompaktowania sterty. Wyłączając kompaktowanie sterty, eliminujesz cały związany z tym nakład pracy.

    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu. gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xgcpolicy

    Określ argument-Xgcpolicy, aby ustawić strategię czyszczenia pamięci. Ten argument jest poprawny tylko dla pakietu IBM Developer Kit.

    Ustaw ten argument na wartość optthruput, aby zoptymalizować przepustowość, jeśli nie występuje problem dotyczący długich przerw w czyszczeniu pamięci. Jest to parametr domyślny, zalecane ustawienie.

    W przypadku używania funkcji generacyjnego czyszczenia pamięci ustaw ten argument na wartość gencon. Schemat generacyjny dąży do osiągnięcia wysokiej przepustowości oraz ograniczenia liczby przerw w czyszczeniu pamięci. W tym celu sterta jest dzielona na nowe i stare segmenty. Obiekty o długim czasie życia są awansowane do starego obszaru, natomiast szybkie czyszczenie pamięci obejmujące obiekty o krótkim czasie życia odbywa się w nowym obszarze. Strategia gencon przynosi znaczące korzyści wielu aplikacjom. Nie jest ona jednak odpowiednia dla wszystkich aplikacji i z reguły trudniej ją dostroić.

    Ustaw ten argument na wartość optavgpause, aby wykorzystać znaczniki równoległe do śledzenia wątków aplikacji począwszy od stosu przed zapełnieniem sterty. Po określeniu tego parametru pauzy w operacji czyszczenia pamięci stają się ujednolicone, a długie przerwy nie występują. Jednak użycie tej strategii powoduje zmniejszenie przepustowości, ponieważ wątki mogą wykonywać dodatkową pracę.

    Ustaw ten argument na wartość subpool, aby podnieść wydajność w systemach wieloprocesorowych (z reguły takich, w których używanych jest ponad osiem procesorów). Ta strategia jest dostępna wyłącznie w procesorach systemów IBM System i, System p oraz System z. Strategia subpool jest podobna do strategii optthruput, z tym że w przypadku strategii subpool sterta jest dzielona na podpule, co umożliwia lepszą skalowalność dla przydzielania obiektów.

    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -XX

    Środowisko Java Platform, Standard Edition 6 (Java SE 6) ma funkcję czyszczenia pamięci, co umożliwia występowanie obiektów w różnym wieku w osobnych pulach pamięci. Cykl czyszczenia pamięci gromadzi obiekty niezależnie od siebie według ich wieku. Dzięki dodatkowym parametrom istnieje możliwość indywidualnego ustawienia wielkości pul pamięci. Aby uzyskać lepszą wydajność, ustaw wielkość puli zawierającej obiekty o krótkim czasie życia tak, aby czas życia obiektów w puli nie przekraczał czasu jednego cyklu czyszczenia pamięci. Za pomocą parametrów NewSize i MaxNewSize można określić wielkość nowej puli pokolenia.

    Obiekty, które pozostają po pierwszym cyklu czyszczenia pamięci są przenoszone do następnej puli. Parametr SurvivorRatio umożliwia określenie puli obiektów pozostałych.SurvivorRatio. Do monitorowania statystyk czyszczenia pamięci można użyć statystyki obiektów gromadzonej przez przeglądarkę Tivoli Performance Viewer lub użyć argumentu verbose:gc w ustawieniach konfiguracji. Jeśli czyszczenia pamięci staje się wąskim gardłem, określ następujące argumenty, aby dostosować ustawienia puli pokolenia w celu ich lepszego dostosowania do środowiska.
    -XX:NewSize=dolna_granica 
    -XX:MaxNewSize=górna_granica
     -XX:SurvivorRatio=nowy_współczynnik 
    Wartości domyślne to:
    • NewSize=2m
    • MaxNewSize=32m
    • SurvivorRatio=32
    Sprawdzona procedura: Jeśli jednak wielkość sterty maszyny JVM jest większa niż 1 GB, to powinny zostać użyte następujące wartości:
    • -XX:NewSize=640m
    • -XX:MaxNewSize=640m
    • -XX:SurvivorRatio=16
    bprac

    Innym rozwiązaniem jest ustawienie od 50% do 60% łącznej wielkości sterty pamięci na potrzeby nowej puli generowania.

    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu. gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xminf

    Określ argument -Xminf, aby zmienić minimalny procent wolnego miejsca w stercie. Sterta rośnie, gdy ilość wolnego miejsca jest poniżej podanej ilości. W trybie z włączonym resetowaniem ten argument określa minimalny procent wolnej pamięci dla warstwy pośredniej i sterty przejściowej w procentach. Wartość określona dla tego argumentu jest liczbą zmiennopozycyjną w zakresie 0 do 1. Domyślna wartość wynosi 0,3 (30 procent).

    [iSeries] Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xshareclasses:none

    Określ argument -Xshareclasses:none, aby wyłączyć opcję współużytkowania klas dla procesu. Opcja współużytkowania klas, dostępna w środowisku Java SE 6, umożliwia współużytkowanie klas w pamięci podręcznej. Współużytkowanie klas w pamięci podręcznej może skrócić czas uruchamiania i zmniejszyć ślad w pamięci. Z opcji współużytkowania pamięci podręcznej mogą korzystać procesy w rodzaju serwerów aplikacji, agentów węzła i menedżerów wdrażania.

    Jeśli korzystasz z tej opcji, powinieneś usuwać zawartość pamięci podręcznej podczas niekorzystania z procesu. Aby usunąć zawartość pamięci podręcznej, wywołaj program narzędziowy app_server_root/bin/clearClassCache.bat/sh lub zatrzymaj proces, a następnie go restartuj.

    Unikanie problemów:
    • [Solaris] [iSeries] [HP-UX] Produkt IBM JVM for J2SE 5 nie jest obsługiwany w systemach Solaris, HP oraz IBM i.
    • Klasy aplikacji J2EE działające w procesach serwera aplikacji nie są dodawane do pamięci podręcznej współużytkowanych klas.
    gotcha
Typ danych String
Jednostki Argumenty wiersza komend języka Java
Nazwa wykonywalnego pliku JAR

Określa pełną ścieżkę do pliku wykonywalnego JAR, który jest używany przez kod maszyny JVM.

Typ danych String
Jednostki Nazwa ścieżki
Wyłącz kompilator JIT

Określa, czy opcja kompilatora JIT ma być wyłączona dla kodu maszyny JVM.

Jeśli wyłączysz kompilator JIT, odczuwalnie obniży się przepustowość. Dlatego, ze względu na wydajność, pozostaw kompilator JIT włączony.

Typ danych Boolean
Wartość domyślna fałsz (kompilator JIT włączony)
Zalecane Kompilator JIT włączony
Nazwa systemu operacyjnego

Określa ustawienia maszyny JVM dla danego systemu operacyjnego.

Kiedy zostaje uruchomiony proces, korzysta on z ustawień wirtualnej maszyny języka Java określonych dla serwera jako ustawienia wirtualnej maszyny języka Java dla systemu operacyjnego.

Kiedy zostaje uruchomiony proces, korzysta on z ustawień wirtualnej maszyny języka Java określonych dla węzła jako ustawienia wirtualnej maszyny języka Java dla systemu operacyjnego.




Zaznaczone odsyłacze (online) wymagają dostępu do Internetu.

Zadania pokrewne
Odsyłacze pokrewne
Kolekcja właściwości niestandardowych
[AIX Solaris HP-UX Linux Windows]


Nazwa pliku: urun_rconfproc_jvm.html