| Nazwa parametru | znaczenie | Domyślne uwagi/Uwagi |
| -XMS | Początkowy rozmiar kopca | 1/64 (<1GB) pamięci fizycznej Domyślnie (parametr MinHeapFreeRatio można regulować) Gdy wolna pamięć kopca jest mniejsza niż 40%, JVM zwiększa stos aż do maksymalnego limitu -Xmx |
| -Xmx | Maksymalny rozmiar sterty | 1/4 pamięci fizycznej (<1GB) domyślnie (parametr MaxHeapFreeRatio można dostosować) Gdy wolna pamięć kopca przekracza 70%, JVM zmniejsza stos aż do minimalnego limitu -xms |
| -Xmn | Rozmiar generacji (JDK 1.4 lub wyższy) | Po zwiększeniu nowej generacji rozmiar starej generacji zostanie zmniejszony. Ta wartość ma istotny wpływ na wydajność systemu. Sun oficjalnie zaleca taką konfigurację do 3/8 całego stosu |
| -Xss | Rozmiar stosu każdego wątku | Po JDK5.0 każdy rozmiar stosu wątków wynosił 1M, a wcześniej każdy stos 256K, co może być w jednostkach K, M lub G |
| -XX:ThreadStackSize | Ibid | 0 oznacza, że używana jest wartość domyślna i nie można jej połączyć |
| -XX:PermSize | Ustaw początkową wartość algebry permanentnej | 1/64 pamięci fizycznej |
| -XX:MaxPermSize | Ustaw maksymalną generację stałą | 1/4 pamięci fizycznej |
| -XX:NewRatio | Stosunek kenozoiku (w tym Eden i dwie strefy przetrwania) do starości (z wyłączeniem stałego pokolenia) | -XX:NewRatio=4 oznacza, że stosunek kenozoiku do starości wynosi 1:4, a kenozoik odpowiada za 1/5 całego stosu, Xms=Xmx i Xmn jest ustawiony, więc ten parametr nie musi być ustawiany. |
| -XX:SurvivorRatio | Stosunek wielkości obszaru Eden do obszaru Survivor | Jeśli ustawimy na 8, stosunek dwóch regionów Ocalałych do jednego regionu Edenu wynosi 2:8, a jeden region Ocalałych stanowi 1/10 całego Cenozoiku |
| -XX:LargePageSizeInBytes | Rozmiar strony pamięci nie powinien być ustawiony zbyt duży, ponieważ wpłynie to na rozmiar Perm | =128m |
| -XX:+UżyjFastAccessorMethods | Szybka optymalizacja oryginalnego typu | / |
| -XX:+DisableExplicitGC | Close System.gc() | Ten parametr wymaga rygorystycznych testów |
| -XX:Maksymalnypróg trwania | Maksymalny wiek śmieci | Jeśli ustawisz na 0, obiekt nowej generacji wejdzie bezpośrednio do starej ery, nie przechodząc przez obszar Survivor. W starszych zastosowaniach wydajność można poprawić. Jeśli wartość ta zostanie ustawiona na dużą wartość, obiekt nowej generacji będzie kopiowany wielokrotnie w regionie Survivor, co może wydłużyć czas przeżycia obiektu w nowej generacji oraz zwiększyć prawdopodobieństwo recyklingu w nowej generacji, co jest ważne tylko dla seryjnego GC |
| -XX:+AggressiveOpts | Przyspieszenie kompilacji | / |
| -XX:+UżyjStronniczBlokowanie | Ulepszenia wydajności mechanizmów blokujących | / |
| -Xnoclassgc | Wyłącz recykling śmieci | / |
| -XX:SoftRefLRUPolicyMSPerMB | Czas przetrwania SoftReference na megastos wolnej przestrzeni | 1 |
| -XX:Próg rozmiaru pretenure | Rozmiar obiektu jest bezpośrednio rozkładany w starości | Inny przypadek, gdy nowa generacja używa Parallel Scavenge GC, jest nieprawidłowy, a inny, gdy jest on bezpośrednio przypisany w starym wieku, to duży obiekt tablicy bez zewnętrznych obiektów odniesienia w tablicy. |
| -XX:TLABWasteTargetPercentage | Procent TLAB w rejonie Eden | 1% |
| -XX:+CollectGen0First | Czy YGC jest pierwsze, gdy FullGC | false |
| -XX:+UżyjRównoległegoGC | Pełny GC wykorzystuje równoległy MSC | Zobacz [Parametry GC][1] |
| -XX:+UseParNewGC | Ustawienie nowego pokolenia do równoległego zbierania | Może być używany razem z kolekcją CMS, JDK 5.0 lub nowszym, a JVM ustawia ją zgodnie z konfiguracją systemową, więc nie ma potrzeby ponownego ustawiania tej wartości |
| -XX:ParallelGCThreads | Liczba gwintów kolektora równoległego | Wartość tę najlepiej konfigurować tak, aby odpowiadała liczbie procesorów i jest również odpowiednia dla CMS |
| -XX:+UżyjParallelOldGC | Stara metoda zbierania śmieci to równoległe kompaktowanie | To jest opcja parametrów, która pojawia się w JAVA 6 |
| -XX:MaxGCPauseMillis | Maksymalny czas na zbiór odpadów nowej generacji (maksymalny czas przerwy) | Jeśli ten czas nie zostanie dotrzymany, JVM automatycznie zmieni rozmiar nowej generacji, aby spełniła tę wartość. |
| -XX:+UżyjAdaptiveSizePolicy | Automatycznie wybierz rozmiar obszaru nowego pokolenia oraz odpowiedni stosunek obszaru ocalałego | Gdy ta opcja zostanie ustawiona, równoległy kolektor automatycznie wybiera rozmiar nowego obszaru generowania oraz odpowiadającą proporcję obszaru przeżywającego, aby osiągnąć minimalny odpowiedni czas lub częstotliwość zbierania określoną przez docelowy system |
| -XX:GCTimeRatio | Ustaw czas wywozu śmieci jako procent czasu działania programu | Wzór to 1/(1+n) |
| -XX:+ScavengeBeforeFullGC | Pełne GC przed wezwaniem do YGC | true |
| -XX:+UżyćConcMarkSweepGC | Korzystanie z kolekcji pamięci CMS | Po skonfigurowaniu tego w teście konfiguracja -XX:NewRatio=4 jest nieprawidłowa, a przyczyna jest nieznana, dlatego najlepiej użyć -Xmn do ustawienia rozmiaru nowej generacji w tym momencie |
| -XX:+Agresywny Stos | Próba polega na wykorzystaniu dużej ilości pamięci fizycznej | Wymagana jest optymalizacja długoterminowego dużego zużycia pamięci, możliwość sprawdzania zasobów obliczeniowych (pamięć, liczba procesorów, co najmniej 256MB pamięci). |
| -XX:CMSFullGCsPrzedKompaktowaniem | Ile razy dochodzi do kompresji pamięci? | Ponieważ współbieżny kolektor nie kompresuje i nie organizuje przestrzeni pamięci, po pewnym czasie pracy powoduje "fragmentację", co obniża efektywność działania |
| -XX:+CMSParallelRemarkEnabled | Dolny marker zatrzymuje się | / |
| -XX+UżyjCMSCompactAtFullCollection | Kompresja starości, gdy była FullGC | CMS nie przenosi pamięci, więc bardzo łatwo jest wywołać fragmentację, co skutkuje niewystarczającą pamięcią, dlatego kompresja pamięci jest obecnie włączona. To dobry nawyk, by zwiększać ten parametr. Może to wpływać na wydajność, ale może wyeliminować zanieczyszczenia |
| -XX:+UżyćCMSIinicjacijObecnośćTylko | Rozpocznij zbieranie CMS od ręcznej inicjalizacji definicji | HostSpot nie może samodzielnie wyzwalać CMS GC |
| -XX:CMSIinicjującOccupancyFraction=70 | Odbiór przez CMS rozpoczyna się po tym, jak 70% odpadów zostanie wykorzystane jako recykling odpadów | Wartość tę należy ustawić tak, aby spełniała następujący wzór, CMSInitiatingOccupancyFraction |
| -XX:CMSIinicjującUłamekUłamObecności | Ustaw użycie Perm Gen tak, aby aktywowało się po osiągnięciu stosunku | 92 |
| -XX:+CMSInckrementalMode | Ustaw tryb przyrostowy | Stosowane w obudowach z pojedynczym procesorem |
| -XX:+CMSClassUnloadingEnabled | Stały CMS GC | / |
| -XX:+PrintGC | Wyjście loga GC | Tak samo jak -verbose:gc |
| -XX:+PrintGCDetails | Ibid | Więcej szczegółów |
| -XX:+PrintGCTimeStamps | Znacznik czasu wyjściowej GC | Użyj go z powyższym parametrem PrintGC lub zapisz coś w stylu -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+PrintGC:PrintGCTimeStamps | / | Można go mieszać z -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+PrintGCApplicationStoppedTime | Czas, w którym program zatrzymuje się podczas wywozu śmieci drukowanych. Można je mieszać z powyższymi | Format wyjściowy: Całkowity czas, przez jaki wątki aplikacji zostały zatrzymane: 0,0468229 sekund |
| -XX:+PrintGCApplicacjaConcurrentTime | Przed każdym zbieraniem śmieci wypisz nieprzerwany czas wykonania programu | Można je połączyć z powyższym, forma wyjściowa: Czas aplikacji: 0,5291524 sekundy |
| -XX:+PrintHeapAtGC | Wydrukuj szczegółowe informacje o stosie przed i po GC | / |
| -Xloggc:nazwa pliku | Zapisz odpowiednie informacje z logu do pliku do analizy | Współpraca z powyższymi kilkoma |
| -XX:+PrintClassHistogram | Po naciśnięciu Ctrl+Break w konsoli wydrukuj informacje o klasie | / |
| -XX:+KlasaHistogramPrzedPełnoGC | FullGC przed drukiem | / |
| -XX:+PrintTLAB | Zobacz wykorzystanie przestrzeni TLAB | / |
| XX:+PrintTenuringDistribution | Zobacz próg nowego okresu przeżycia po każdym mniejszym GC | / |
| -EA | Włącz assert assert | / |
| -Xprof | Diagnostyka wydajności | / |
| -Xrunhprof | Diagnostyka wydajności | / |
| -XX:+TraceClassLoading | Wyświetla informacje o procesie ładowania zajęć | Podobnie jak [Loaded java.util.AbstractList$Itr z /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Informacje o procesie odinstalowania klasy drukowanej | / |
| Xbootclasspath | Określa ładowanie klas, które nie wymagają sprawdzania | Pominięcie niezbędnych kontroli wstępnego ładowania może skrócić czas ładowania, ale nie jest bezpieczne |
| -XX:+Kompilacja drukowana | Wydrukuj nazwę metody, którą Hotspot kompiluje za pomocą JIT | / |
| -XX:+HeapDumpOnOutOfMemoryError | OM podczas generowania zrzutu kopca | Domyślne wyjście znajduje się w folderze głównym, gdzie przechowywane są pliki klas |
| -XX:HeapDumpPath | Ustaw ścieżkę pliku OM OM | Użycie z -XX:+HeapDumpOnOutOfMemoryError |
| Nazwa parametru | opis | Domyślny |
| -d32 | Użyj modelu danych 32-bitowego (jeśli jest dostępny) | / |
| -d64 | Użyj modelu danych 64-bitowego (jeśli jest dostępny) | / |
| -serwer | Wybierz maszynę wirtualną serwera | Domyślną maszyną wirtualną jest serwer, ponieważ działasz na maszynie podobnej do serwera. |
| -cp < katalogu oraz ścieżki wyszukiwania klas plików zip/jar > | / | / |
| -classpath < ścieżka wyszukiwania klas dla katalogów oraz plików zip/jar > | Użyj : listy oddzielnych katalogów, archiwów JAR i archiwów ZIP do wyszukiwania plików klas | / |
| -D<名称>=<值> | Właściwości systemu zbiorów | / |
| -Rozwlekły: [klasa lub GC lub JNI] | Włącz szczegółowe wyniki | / |
| -Wersja | Wyjść wersję produktu i zakończyć | / |
| -<值>Wersja: | / | Wycofane |
| -showversion | Wydrukuj wersję produktu i kontynuuj | / |
| -jre-restrict-search lub -no-jre-restrict-search | / | Wycofane |
| -? -Pomoc | Wyślij tę wiadomość pomocy | / |
| -X | Pomoc w wyjściu przy niestandardowych opcjach | / |
| -ea[:< nazwa pakietu, nazwa klasy>] | assert | / |
| -enableassertions[:< nazwa pakietu, nazwa klasy>] | Włączaj asercje przy określonej granularności | / |
| -da[:< nazwa pakietu, nazwa klasy>] | / | / |
| -disable assertions[:< nazwa pakietu, nazwa klasy>] | Wyłącz astacje o określonej szczegółowości | / |
| -esa lub -enablesystemassertions | Włącz asercje systemowe | / |
| -DSA lub -disablesystemassertions | Wyłącz asercje systemowe | / |
| -agentlib:<libname>[=<选项>] | Załaduj natywną bibliotekę <libname>agentów | Na przykład -agentlib:hprofZobacz także -agentlib:jdwp=help oraz -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Załaduj lokalną bibliotekę agentów według pełnej nazwy ścieżki | / |
| -javaagent:<jarpath>[=<选项>] | Aby załadować agenta języka programowania Java, zobacz java.lang.instrument | / |
| -Plusk:<imagepath> | Wyświetl ekran powitalny z podanym obrazem | / |