Java Language
Flagi JVM
Szukaj…
Uwagi
Zdecydowanie zaleca się używanie tylko tych opcji:
- Jeśli dobrze rozumiesz swój system.
- Należy pamiętać, że w przypadku niewłaściwego użycia opcje te mogą mieć negatywny wpływ na stabilność lub wydajność systemu.
Informacje zebrane z oficjalnej dokumentacji Java .
-XXaggresywne
-XXaggressive
to zbiór konfiguracji, które sprawiają, że JVM działa z dużą prędkością i osiąga stabilny stan tak szybko, jak to możliwe. Aby osiągnąć ten cel, JVM zużywa więcej zasobów wewnętrznych podczas uruchamiania; wymaga to jednak mniej adaptacyjnej optymalizacji po osiągnięciu celu. Zalecamy korzystanie z tej opcji w przypadku długotrwałych aplikacji wymagających dużej ilości pamięci, które działają samodzielnie.
Stosowanie:
-XXaggressive:<param>
<param> | Opis |
---|---|
opt | Planuje optymalizacje adaptacyjne wcześniej i umożliwia nowe optymalizacje, które powinny być domyślne w przyszłych wydaniach. |
memory | Konfiguruje system pamięci dla obciążeń wymagających dużej ilości pamięci i ustawia oczekiwanie na włączenie dużej ilości zasobów pamięci w celu zapewnienia wysokiej przepustowości. JRockit JVM będzie również używać dużych stron, jeśli są dostępne. |
-XXallocClearChunks
Ta opcja umożliwia wyczyszczenie TLA dla odniesień i wartości w czasie przydzielania TLA i pobranie następnego fragmentu. Gdy deklarowana jest liczba całkowita, odwołanie lub cokolwiek innego, ma ona wartość domyślną 0 lub null (w zależności od typu). W odpowiednim czasie konieczne będzie wyczyszczenie tych odniesień i wartości, aby zwolnić pamięć na stercie, aby Java mogła z niej skorzystać lub ją ponownie wykorzystać. Możesz to zrobić, gdy obiekt zostanie przydzielony, lub korzystając z tej opcji, gdy poprosisz o nową umowę TLA.
Stosowanie:
-XXallocClearChunks
-XXallocClearChunks=<true | false>
Powyższe jest opcją logiczną i jest ogólnie zalecane w systemach IA64; ostatecznie jego użycie zależy od zastosowania. Jeśli chcesz ustawić wielkość -XXallocClearChunkSize
porcji, połącz tę opcję z opcją -XXallocClearChunkSize
. Jeśli używasz tej flagi, ale nie podajesz wartości logicznej, wartością domyślną jest true
.
-XXallocClearChunkSize
W przypadku użycia z -XXallocClearChunkSize
ta opcja ustawia wielkość porcji do wyczyszczenia. Jeśli ta flaga jest używana, ale nie określono żadnej wartości, domyślnie jest to 512 bajtów.
Stosowanie:
-XXallocClearChunks -XXallocClearChunkSize=<size>[k|K][m|M][g|G]
-XXcallProfiling
Ta opcja umożliwia użycie profilowania połączeń do optymalizacji kodu. Profilowanie rejestruje przydatne statystyki środowiska wykonawczego specyficzne dla aplikacji i może - w wielu przypadkach - zwiększyć wydajność, ponieważ JVM może wtedy działać na podstawie tych statystyk.
Uwaga: Ta opcja jest obsługiwana przez JRockit JVM R27.3.0 i nowsze wersje. Może stać się domyślny w przyszłych wersjach.
Stosowanie:
java -XXcallProfiling myApp
Ta opcja jest domyślnie wyłączona. Musisz go włączyć, aby go użyć.
-XXdisableFatSpin
Ta opcja wyłącza kod wirowania blokady tłuszczu w Javie, umożliwiając wątkom, które blokują próbę uzyskania blokady tłuszczu, przejście bezpośrednio w tryb uśpienia.
Obiekty w Javie stają się blokadą, gdy tylko dowolny wątek wejdzie do zsynchronizowanego bloku tego obiektu. Wszystkie blokady są trzymane (tzn. Pozostają zablokowane), dopóki nie zostaną zwolnione przez nitkę blokującą. Jeśli zamek nie zostanie zwolniony bardzo szybko, można go napompować do „tłustego zamka”. „Wirowanie” występuje, gdy wątek, który chce określonego zamka, stale sprawdza ten zamek, aby sprawdzić, czy jest nadal zajęty, obracając się w ciasnej pętli podczas sprawdzania. Kręcenie przy grubej śluzie jest na ogół korzystne, chociaż w niektórych przypadkach może być drogie i może wpływać na wydajność. -XXdisableFatSpin
pozwala wyłączyć wirowanie przy grubej blokadzie i wyeliminować potencjalne pogorszenie wydajności.
Stosowanie:
-XXdisableFatSpin
-XXdisableGCHeuristics
Ta opcja wyłącza zmiany strategii śmieciarza. Ta opcja nie ma wpływu na heurystykę zagęszczania i heurystykę wielkości szkółki. Domyślnie heurystyka czyszczenia pamięci jest włączona.
Stosowanie:
-XXdisableFatSpin
-XXdumpSize
Ta opcja powoduje wygenerowanie pliku zrzutu i pozwala określić względny rozmiar tego pliku (to znaczy mały, średni lub duży).
Stosowanie:
-XXdumpsize:<size>
<rozmiar> | Opis |
---|---|
none | Nie generuje pliku zrzutu. |
small | W systemie Windows generowany jest mały plik zrzutu (w systemie Linux generowany jest pełny zrzut pamięci). Mały zrzut zawiera tylko stosy nici, w tym ich ślady i bardzo niewiele więcej. Było to ustawienie domyślne w JRockit JVM 8.1 z dodatkami Service Pack 1 i 2, a także 7.0 z dodatkiem Service Pack 3 i nowszymi. |
normal | Powoduje wygenerowanie normalnego zrzutu na wszystkich platformach. Ten plik zrzutu zawiera całą pamięć oprócz sterty Java. Jest to wartość domyślna dla JRockit JVM 1.4.2 i nowszych. |
large | Obejmuje wszystko, co jest w pamięci, w tym stertę Java. Ta opcja powoduje, że -XXdumpSize równoważne -XXdumpFullState . |
-XXexitOnOutOfMemory
Ta opcja powoduje wyjście JRockit JVM przy pierwszym wystąpieniu błędu braku pamięci. Można go użyć, jeśli wolisz zrestartować instancję JRockit JVM zamiast obsługi błędów braku pamięci. Wprowadź to polecenie podczas uruchamiania, aby wymusić zamknięcie JRockit JVM przy pierwszym wystąpieniu błędu braku pamięci.
Stosowanie:
-XXexitOnOutOfMemory