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]](../dist.gif)
W przypadku systemu
IBM®
i oraz platform rozproszonych kliknij opcję
nazwa_serwera.
Następnie w sekcji Infrastruktura serwera kliknij opcję
.
Dla platformy z/OS należy użyć jednej z następujących ścieżek opcji.| Informacje | Wartość |
|---|---|
| Serwer aplikacji | Kliknij opcję nazwa_serwera. Następnie w sekcji Infrastruktura serwera kliknij opcję . |
| Menedżer wdrażania | Kliknij opcję Administrowanie systemem > Menedżer wdrażania. Następnie w sekcji Infrastruktura serwera kliknij opcję . |
| Agent węzła | Kliknij opcję Administrowanie systemem > Agent węzła > agent_węzła. Następnie w sekcji Infrastruktura serwera kliknij opcję . |
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Dla systemu IBM i oraz
platform rozproszonych należy użyć jednej z następujących ścieżek opcji.| Informacje | Wartość |
|---|---|
| Serwer aplikacji | nazwa_serwera. Następnie w sekcji Infrastruktura serwera kliknij opcję . |
| Menedżer wdrażania | Administrowanie systemem > Menedżer wdrażania. Następnie w sekcji Infrastruktura serwera kliknij opcję . |
| Agent węzła | Administrowanie systemem > Agent węzła > agent_węzła. Następnie w sekcji Infrastruktura serwera kliknij opcję . |
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.
| Informacje | Wartość |
|---|---|
| Typ danych | Łańcuch |
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ł.
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.
Jeśli szczegółowe komunikaty ładowania klas są włączone, dane wyjściowe debugowania
są wysyłane do jednego z dzienników procesu rodzimego.
| Informacje | Wartość |
|---|---|
| Typ danych | Wartość boolowska |
| Wartość domyślna | false |
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.
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.
| Informacje | Wartość |
|---|---|
| Typ danych | Wartość boolowska |
| Wartość domyślna | false |
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.
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.
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.
Dla przenoszenia użytkowników: Wersja 7.0 i poprzednie używają algorytmu czyszczenia
pamięci optthruput. W wersji 8.0 i nowszych domyślnie ustawiono
generacyjne czyszczenie pamięci. Ten algorytm czyszczenia
pamięci może zwiększyć wydajność. Następująca opcja maszyny JVM jest dodawana
do komendy uruchamiania produktu
WebSphere Application Server: -Xgcpolicy:gencon.
Jeśli preferowane jest użycie
algorytmu czyszczenia pamięci
optthruput
, można usunąć opcję -Xgcpolicy:gencon.trns
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.
Określa, czy podczas wywoływania metod rodzimych mają być generowane szczegółowe dane wyjściowe debugowania. Domyślnie szczegółowe komunikaty o działaniu wywołań metod rodzimych nie są włączone.
| Informacje | Wartość |
|---|---|
| Typ danych | Wartość boolowska |
| Wartość domyślna | false |
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.
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 32-bitowych, jak i 64-bitowych konfiguracji.
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
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
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.gotchaZwię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.
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. Ta wartość domyślna dotyczy zarówno konfiguracji 32-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.
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ść.
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![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
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.
| Informacje | Wartość |
|---|---|
| Typ danych | Wartość boolowska |
| Wartość domyślna | false |
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
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).
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.
| Informacje | Wartość |
|---|---|
| Typ danych | Wartość boolowska |
| Wartość domyślna | false |
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.
| Informacje | Wartość |
|---|---|
| Typ danych | Łańcuch |
| Jednostki | Argumenty wiersza komend 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.
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]](../ngzos.gif)
-DhotRestartSync: Określ opcję -DhotRestartSync, 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.crypto.provider.doAESInHardware: Tę opcję należy ustawić na wartość true (prawda), aby włączyć funkcję AES (Advanced Encryption Standard) dostarczoną z produktem IBM SDK and Runtime Environment for AIX, Java Technology Edition 7. Funkcja AES to symetryczny szyfr blokowy, który szyfruje i deszyfruje dane w kilku rundach. Włączenie tej funkcji ma spowodować poprawę wydajności w przetwarzaniu protokołu SSL produktu WebSphere Application Server.
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xquickstart
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
Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-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:
System IBM i nie obsługuje tego argumentu.![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-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 używającym platformy 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.gotchaMoż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.
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]](../dist.gif)
-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.
-Xgcthreads<liczba_procesorów>
Unikanie problemów: Nie
należy dodawać spacji między argumentem --Xgcthreads a wartością n
oznaczającą liczbę procesorów.
Przykładowy argument -Xgcthreads z określeniem 5 procesorów: -Xgcthreads5.
gotcha
Sprawdzona procedura: Równoległe czyszczenie
pamięci powinno być użyte wtedy, gdy komputer ma więcej niż jeden procesor.bprac
Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-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.
Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xgcpolicy Określ argument-Xgcpolicy, aby ustawić strategię czyszczenia pamięci. Ten argument jest poprawny tylko dla pakietu IBM Developer Kit.
Temu argumentowi należy nadać wartość
optthruput
, aby zoptymalizować
przepustowość i wyeliminować problem dotyczący długich przerw w czyszczeniu
pamięci.
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 tylko dla procesoró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.
Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-XXŚrodowisko Java Platform, Standard Edition 6 (Java SE 6) ma funkcję generacyjnego 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.
-XX:NewSize=dolna_granica -XX:MaxNewSize=górna_granica -XX:SurvivorRatio=nowy_współczynnik
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:
Innym rozwiązaniem jest ustawienie od 50% do 60% łącznej wielkości sterty pamięci na potrzeby nowej puli generowania.
Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-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).
Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Server a klientTechnologia Java HotSpot Technology 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.
Unikanie problemów: System IBM i nie obsługuje tego argumentu.gotchaOkreś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.
Argument -Dcom.ibm.server.allow.sigkill=true umożliwia procesowi agenta węzła przerwanie wykonywania metody procesu, jeśli metoda zatrzymywania nie zostanie zakończona w czasie określonym przez parametr Odstęp czasu między uruchomieniami komendy ping. To ustawienie jest przydatne, jeśli agent węzła monitoruje serwer aplikacji i utraci kontakt z tym serwerem aplikacji.
Jeśli strategia monitorowania serwera aplikacji umożliwia agentowi węzła zrestartowanie serwera aplikacji, ponieważ opcja automatycznego restartowania jest włączona dla serwera aplikacji, agent węzła wykona metodę zatrzymywania dla procesu serwera aplikacji. Podczas przetwarzania metody zatrzymywania agent węzła monitoruje serwer aplikacji i jeśli nie zostanie on zatrzymany w czasie określonym przez parametr Odstęp czasu między uruchomieniami komendy ping, a ten argument ma wartość true (wartość domyślna), agent węzła wykona metodę przerywania dla procesu serwera aplikacji w celu jego zatrzymania.
Jeśli ten argument zostanie ustawiony na wartość false, agent węzła kontynuuje monitorowanie procesu zatrzymywania, lecz nie próbuje zrestartować serwera aplikacji.
Aby wyłączyć ten argument przy użyciu Konsoli administracyjnej, należy kliknąć opcję Administrowanie systemem > Agenty węzłów > nazwa_agenta_węzła > Język Java i zarządzanie procesami > Definicja procesu > Wirtualna maszyna języka Java > Ogólne argumenty wirtualnej maszyny języka Java.
-Dcom.ibm.websphere.alarmthreadmonitor.hung_alarm_mute=Ten argument określa maksymalną liczbę pełnych stosów wywołań raportowanych przez alarm w komunikatach o zawieszonym wątku w dziennikach systemowych.
Gdy wątek alarmu systemowego jest aktywny dłużej niż wynosi próg monitora wątku alarmu, serwer aplikacji rejestruje komunikat o zawieszeniu wątku z nazwą wątku alarmu, czasem trwania aktywności wątku alarmu oraz pełnym stosem wywołań wyjątków. Pełny stos wywołań jest przydatny przy debugowaniu przyczyny opóźnienia, ale jeśli komunikaty o zawieszeniu wątku są często wyzwalane, powtórzone długie komunikaty mogą utrudnić znalezienie w dziennikach systemowych innych informacji. Należy ustawić ten argument na wartość całkowitą większą od 0, aby określić maksymalną liczbę pełnych stosów wywołań raportowanych przez jeden alarm. Po osiągnięciu tej wartości progowej każdy kolejny komunikat o zawieszeniu wątku będzie zawierać tylko wpis procedury obsługi alarmu dotyczącego zawieszenia.
Wartość domyślna wynosząca 0 wskazuje, że wszystkie komunikaty o zawieszonym wątku dla alarmu będą zawierać pełny stos wywołań.
-Dcom.ibm.websphere.native.logging.timestamp=trueTen argument należy podać, aby przed wszystkimi komunikatami debugowania serwera wyprowadzanymi do plików dziennika native_stdout i native_stderr był dodawany znacznik czasu i identyfikator wątku. Znacznika czasu i identyfikatora wątku można użyć w celu skorelowania zachowań komponentów programu startowego serwera aplikacji z zachowaniami innych mechanizmów serwera wskazanymi w plikach dziennika SystemOut oraz SystemErr. Domyślnie to zachowanie jest wyłączone.
Gdy serwer jest skonfigurowany z ogólnym argumentem maszyny JVM -Dws.ext.debug=true, podczas sekwencji startowej wysyła komunikaty debugowania do plików dziennika native_stdout.log oraz native_stderr.log. Jeśli właściwość -Dcom.ibm.websphere.native.logging.timestamp również ma wartość true, komunikaty debugowania wyprowadzane przez serwer zawierają znacznik czasu i identyfikator wątku, jak przedstawiono w przykładzie poniżej:
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[0]=-nosplash
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[1]=-application
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[2]=com.ibm.ws.bootstrap.WSLauncher
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[3]=com.ibm.ws.runtime.WsServer
-Dcom.ibm.websphere.wlm.unusable.interval=okresTen argument ma zastosowanie tylko dla systemu 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ść domyślna wynosi 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.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=Ten argument ma zastosowanie tylko dla systemu 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.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl
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.
-DisSipComplianceEnabled=true|falseOkreśla, czy na serwerze proxy SIP włączono sprawdzanie zgodności z protokołem SIP. Sprawdzanie zgodności z protokołem SIP pozwala zapewnić, że komunikaty SIP są dostosowane do standardu Session Initiation Protocol (SIP). Gdy ta właściwość ma wartość true, sprawdzanie zgodności z protokołem SIP jest włączone.
Unikanie problemów: Jeśli serwer proxy jest uruchomiony w
środowisku z/OS WebSphere Application Server, Network Deployment i nie jest on częścią klastra, można użyć właściwości
niestandardowej serwera proxy SIP isSipComplianceEnabled w celu włączenia lub
wyłączenia sprawdzania zgodności z protokołem SIP dla danego serwera proxy SIP.
W przypadku korzystania z autonomicznego serwera aplikacji (lub jeśli używany
serwer proxy jest częścią klastra) w celu włączenia lub wyłączenia sprawdzania
zgodności z protokołem SIP należy użyć ogólnego argumentu maszyny JVM.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xshareclasses:noneOkreśl argument -Xshareclasses:none, aby wyłączyć opcję współużytkowania klas dla procesu. Opcja współużytkowania klas, która jest 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]](../solaris.gif)
![[IBM i]](../iseries.gif)
Produkt IBM JVM for J2SE 5 nie jest
obsługiwany w systemach Solaris, HP oraz IBM i.Argumentu -XXallowvmshutdown:false należy użyć, aby przywrócić poprzednie zachowanie dla niepoprawnej maszyny JVM. Pakiety poprawek Java 5.0 SR10 i Java 6 SR5 usuwają problemy, które powodują, że wirtualna maszyna języka Java nie jest zamykana poprawnie. Jeśli używana jest aplikacja, która zależy od starego zachowania, można przywrócić poprzednie zachowanie, dodając ten argument w sekcji Ogólne argumenty wirtualnej maszyny języka Java.
| Informacje | Wartość |
|---|---|
| Typ danych | Łańcuch |
| Jednostki | Argumenty wiersza komend języka Java |
Określa pełną ścieżkę do pliku wykonywalnego JAR, który jest używany przez kod maszyny JVM.
| Informacje | Wartość |
|---|---|
| Typ danych | Łańcuch |
| Jednostki | Nazwa ścieżki |
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.
| Informacje | Wartość |
|---|---|
| Typ danych | Wartość boolowska |
| Wartość domyślna | false (kompilator JIT włączony) |
| Zalecane | Kompilator JIT włączony |
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.