| Název parametru | význam | Výchozí nastavení/Poznámky |
| -Xms | Počáteční velikost haldy | 1/64 (<1GB) fyzické paměti Ve výchozím nastavení (parametr MinHeapFreeRatio lze upravit) Když je volná paměť haldy menší než 40 %, JVM zvýší haldu až do maximálního limitu -Xmx |
| -Xmx | Maximální velikost haldy | 1/4 výchozí hodnoty fyzické paměti (<1GB) (parametr MaxHeapFreeRatio lze upravit) Když je volná paměť haldy větší než 70 %, JVM sníží haldu až do minimálního limitu -xms |
| -Xmn | Velikost generace (JDK 1.4 nebo více) | Po zvýšení nové generace se velikost staré generace zmenší. Tato hodnota má významný dopad na výkon systému. Sun oficiálně doporučuje konfiguraci pro 3/8 celého stacku |
| -Xss | Velikost zásobníku každého vlákna | Po JDK5.0 byla velikost každého vlákna 1M, dříve byla velikost každého vlákna 256K, což může být v jednotkách K, M nebo G |
| -XX:ThreadStackSize | Totéž | 0 znamená, že je použita výchozí hodnota a nelze ji sjednotit |
| -XX:PermSize | Nastavte počáteční hodnotu permanentní algebry | 1/64 fyzické paměti |
| -XX:MaxPermSize | Nastavte maximum trvalé generace | 1/4 fyzické paměti |
| -XX:NewRatio | Poměr kenozoika (včetně Edenu a dvou zón přeživších) ke stáří (bez trvalé generace) | -XX:NewRatio=4 znamená, že poměr kenozoika ke stáří je 1:4 a kenozoik tvoří 1/5 celého zásobníku, Xms=Xmx a Xmn je nastaveno, tento parametr není třeba nastavovat. |
| -XX:SurvivorRatio | Poměr velikosti oblasti Eden k oblasti Survivor | Pokud je nastaveno na 8, poměr dvou regionů Survivor k jedné oblasti Eden je 2:8 a jeden region Survivor tvoří 1/10 celého kenozoika |
| -XX:LargePageSizeInBytes | Velikost paměťové stránky by neměla být nastavena příliš velká, protože to ovlivní velikost Permu | =128 m |
| -XX:+UžíveFastAccessorMethods | Rychlá optimalizace původního typu | / |
| -XX:+DisableExplicitGC | Zavřít System.gc() | Tento parametr vyžaduje důkladné testování |
| -XX:Maximální práh délky trvání | Maximální stáří odpadu | Pokud je objekt nové generace nastaven na 0, vstoupí přímo do staré éry, aniž by prošel oblastí Přeživší. U starších aplikací lze zlepšit efektivitu. Pokud je tato hodnota nastavena na velkou hodnotu, objekt nové generace bude v oblasti Survivor několikrát zkopírován, což může prodloužit dobu přežití objektu v nové generaci a zvýšit pravděpodobnost recyklace v nové generaci, což platí pouze pro sériové GC |
| -XX:+AggressiveOpts | Zrychlení kompilace | / |
| -XX:+UseBiasedLocking | Zlepšení výkonu zámkových mechanismů | / |
| -Xnoclassgc | Vypnout recyklaci odpadu | / |
| -XX:SoftRefLRUPolicyMSPerMB | Doba přežití SoftReference na jednu megahromadu volného prostoru | 1 |
| -XX:Prah velikosti pretenure | Velikost objektu je přímo rozložena ve stáří | Další případ, kdy nová generace používá Parallel Scavenge GC, je neplatný, a další případ, kdy je v minulosti přímo přiřazen, je velký objekt pole bez externích referenčních objektů v poli. |
| -XX:TLABWasteTargetPercento | Procento TLAB v oblasti Eden | 1% |
| -XX:+CollectGen0First | Zda je YGC na prvním místě, když FullGC | false |
| -XX:+UseParallelGC | Plný GC používá paralelní MSC | Viz [GC parametry][1] |
| -XX:+UseParNewGC | Nastavení nové generace k paralelnímu sběru | Lze jej používat společně s CMS kolekcí JDK 5.0 nebo novějšími a JVM ji nastaví podle systémové konfigurace, takže není potřeba tuto hodnotu znovu nastavovat |
| -XX:ParallelGCThreads | Počet závitů pro paralelní kolektor | Tato hodnota je nejlepší nastavit jako odpovídající počtu procesorů a je vhodná i pro CMS |
| -XX:+UseParallelOldGC | Stará metoda sběru odpadu je paralelní kompaktění | Toto je možnost parametru, která se objevuje v JAVA 6 |
| -XX:MaxGCPauseMillis | Maximální doba sběru odpadu na novou generaci (maximální doba pauzy) | Pokud tento čas nelze splnit, JVM automaticky upraví velikost nové generace tak, aby splnila tuto hodnotu. |
| -XX:+UseAdaptiveSizePolicy | Automaticky vyberte velikost nové generační oblasti a odpovídající poměr přeživší oblasti | Když je tato možnost nastavena, paralelní sběrač automaticky vybere velikost nové generační oblasti a odpovídající podíl přeživší oblasti, aby dosáhl minimálního odpovídajícího času nebo frekvence sběru stanovené cílovým systémem |
| -XX:GCTimeRatio | Nastavte dobu sběru odpadu jako procento z doby běhu programu | Vzorec je 1/(1+n) |
| -XX:+ScavengeBeforeFullGC | Plný generální zákaz před zavoláním YGC | true |
| -XX:+UseConcMarkSweepGC | Použití sběru paměti CMS | Po nakonfigurování v testu je konfigurace -XX:NewRatio=4 neplatná a důvod není znám, proto je nejlepší použít -Xmn pro nastavení velikosti nové generace v tomto okamžiku |
| -XX:+Agresivní Heap | Cílem je využít hodně fyzické paměti | Je potřeba optimalizace dlouhodobého využití velké paměti, může ověřit výpočetní zdroje (paměť, počet procesorů, alespoň 256MB paměti). |
| -XX:CMSFullGCsPředKompakcí | Kolikrát dochází ke kompresi vzpomínek? | Protože souběžný kolektor nekomprimuje a neorganizuje paměťový prostor, po určité době vzniká "fragmentace", což snižuje efektivitu provozu |
| -XX:+CMSParallelRemarkEnabled | Pauzy na dolním markeru | / |
| -XX+UseCMSCompactAtFullCollection | Komprese stáří, když to bylo FullGC | CMS nepřesouvá paměť, takže je velmi snadné vytvořit fragmentaci, což vede k nedostatečné paměti, takže komprese paměti bude v tuto chvíli povolena. Je dobré tento parametr zvyšovat. Může ovlivnit výkon, ale může odstranit nečistoty |
| -XX:+UseCMSIiniciatuOccupancyOnly | Spusťte CMS sběr ruční inicializací definice | HostSpot nesmí sám o sobě spouštět CMS GC |
| -XX:CMSInitiatingOccupancyFraction=70 | Sběr CMS začíná poté, co je 70 % odpadu použito jako recyklace odpadu | Tato hodnota musí být nastavena tak, aby splňovala následující vzorec, CMSInitiatingOccupancyFraction |
| -XX:CMSIiniciatuuTrvaléhoOccupancyFraction | Nastavte využití Perm Gen tak, aby se spustilo, když je dosaženo poměru | 92 |
| -XX:+CMSInckrementalMode | Nastaveno na inkrementální režim | Používá se v jednoprocesorových pouzdrech |
| -XX:+CMSClassUnloadingEnabled | Trvalý CMS GC | / |
| -XX:+PrintGC | GC log výstup | Stejně jako -verbose:gc |
| -XX:+PrintGCDetails | Totéž | Více podrobností |
| -XX:+PrintGCTimeStamps | Výstupní časové razítko GC | Použijte ho s výše uvedeným parametrem PrintGC, nebo napište něco jako -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+PrintGC:PrintGCTimeStamps | / | Lze kombinovat s -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+PrintGCApplicationStoppedTime | Čas, kdy se program zastaví během tiskového sběru odpadu. Lze kombinovat s výše uvedeným | Výstupní formát: Celkový čas, po který byla aplikační vlákna zastavena: 0,0468229 sekund |
| -XX:+PrintGCApplicaceSoučasný čas | Před každým garbage collection vytiskněte nepřerušený čas spuštění programu | Lze kombinovat s výše uvedeným, výstupní formulář: Doba aplikace: 0,5291524 sekund |
| -XX:+PrintHeapAtGC | Vytiskněte podrobné informace o stacku před a po GC | / |
| -Xloggc:název souboru | Zaznamenat relevantní informace z logu do souboru pro analýzu | Spolupráce s výše uvedenými |
| -XX:+PrintClassHistogram | Po stisknutí Ctrl+Break v konzoli vytiskněte informace o třídě | / |
| -XX:+TřídaTiskuHistogramPředPlnáGC | FullGC před tiskem | / |
| -XX:+PrintTLAB | Zobrazit využití prostoru TLAB | / |
| XX:+PrintTenuringDistribution | Zobrazit práh pro novou dobu přežití po každém menším GC | / |
| -EA | Zapnout assert assert | / |
| -Xprof | Diagnostika výkonu | / |
| -Xrunhprof | Diagnostika výkonu | / |
| -XX:+TraceClassLoading | Tiskne informace o procesu načítání třídy | Podobně jako [Loaded java.util.AbstractList$Itr from /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Informace o procesu odinstalace třídy tisku | / |
| Xbootclasspath | Specifikuje načítání tříd, které nevyžadují kontroly | Vynechání potřebných kontrol před načtením může zkrátit dobu načítání, ale není to bezpečné |
| -XX:+Tisková kompilace | Vytiskněte název metody, který Hotspot zkompiluje pomocí JIT | / |
| -XX:+HeapDumpOnOutOfMemoryError | OM při generování výpisu haldy | Výchozí výstup je v kořenové složce, kde jsou uloženy soubory tříd |
| -XX:HeapDumpPath | Nastavte cestu k výstupu OM dump souboru | Použijte s -XX:+HeapDumpOnOutOfMemoryError |
| Název parametru | popis | Výchozí |
| -d32 | Použijte 32bitový datový model (pokud je k dispozici) | / |
| -d64 | Použijte 64bitový datový model (pokud je k dispozici) | / |
| -server | Vyberte serverový VM | Výchozí VM je server, protože běžíte na serverovém stroji. |
| -cp < adresář a cesta k vyhledávání tříd souborů zip/jar > | / | / |
| -classpath < cesta k vyhledávání třídy pro adresáře a zip/jar soubory > | Použijte: seznam oddělených adresářů, archivů JAR a ZIP archivů pro vyhledávání souborů tříd | / |
| -D<名称>=<值> | Vlastnosti systému množin | / |
| -Verbose: [třída nebo GC nebo JNI] | Povolit detailní výstup | / |
| -verze | Výstup produktové verze a ukončení | / |
| -<值>verze: | / | Zastaralé |
| -showversion | Vypíšte produktovou verzi a pokračujte | / |
| -jre-restrict-search nebo -no-jre-restrict-search | / | Zastaralé |
| -? -Pomoc | Vypíšte tuto nápovědní zprávu | / |
| -X | Pomoc s výstupem u nestandardních možností | / |
| -ea[:< název balíčku, název třídy>] | assert | / |
| -enableassertions[:< název balíčku, název třídy>] | Povolte aserce při specifikované granularitě | / |
| -da[:< název balíčku, název třídy>] | / | / |
| -disableassertions[:< název balíčku, název třídy>] | Vypněte asserte s určenou granularitou | / |
| -esa nebo -enablesystemassertions | Povolit systémové aserce | / |
| -DSA nebo -disablesystemAssertions | Vypnout systémové aserce | / |
| -agentlib:<libname>[=<选项>] | Načíst nativní agentní knihovnu <libname> | Například -agentlib:hprofViz také -agentlib:jdwp=help a -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Načte knihovnu lokálních agentů podle celého názvu cesty | / |
| -javaagent:<jarpath>[=<选项>] | Pro načtení agenta programovacího jazyka Java viz java.lang.instrument | / |
| -Cákání:<imagepath> | Zobrazit úvodní obrazovku s požadovaným obrázkem | / |