| Parameternaam | betekenis | Standaarden/Noten |
| -XMS | Initiële heapgrootte | 1/64 (<1GB) fysiek geheugen Standaard (MinHeapFreeRatio-parameter kan worden aangepast) Wanneer het vrije heapgeheugen minder dan 40% is, zal de JVM de heap vergroten tot de maximale limiet van -Xmx |
| -Xmx | Maximale heapgrootte | 1/4 van het fysieke geheugen (<1GB) standaard (MaxHeapFreeRatio-parameter kan worden aangepast) Wanneer het vrije heapgeheugen groter is dan 70%, zal de JVM de heap verkleinen tot de minimale limiet van -xms |
| -Xmn | Generatiegrootte (JDK 1.4 of hoger) | Na het vergroten van de nieuwe generatie zal de omvang van de oude generatie worden verkleind. Deze waarde heeft een aanzienlijke invloed op de systeemprestaties. Sun raadt officieel de configuratie aan voor 3/8 van de hele stack |
| -Xss | De stapelgrootte van elke thread | Na JDK5.0 was elke threadstack 1M, en voorheen was elke threadstack 256K, wat in K-, M- of G-eenheden kan bestaan |
| -XX:ThreadStackSize | Ibid | 0 betekent dat de standaardwaarde wordt gebruikt en dat deze niet verenigd kan worden |
| -XX:PermSize | Stel de beginwaarde van de permanente algebra in | 1/64 van het fysieke geheugen |
| -XX:MaxPermSize | Stel het maximum voor permanente generatie in | 1/4 van het fysieke geheugen |
| -XX:NewRatio | Verhouding van Cenozoïcum (inclusief Eden en twee Survivor-zones) tot ouderdom (exclusief permanente generatie) | -XX:NewRatio=4 betekent dat de verhouding van het Cenozoïcum tot het Oude Tijdperk 1:4 is, en het Cenozoïcum beslaat 1/5 van de hele stapel, Xms=Xmx en Xmn is vastgesteld, deze parameter hoeft niet te worden ingesteld. |
| -XX:OverlevendeRatio | De grootteverhouding van het Eden-gebied tot het Survivor-gebied | Als het op 8 wordt gezet, is de verhouding van twee Overlevende-regio's tot één Eden-regio 2:8, en één Overlevende-regio is goed voor 1/10 van het hele Cenozoïcum |
| -XX:GrotePaginaGrootteInBytes | De grootte van de geheugenpagina mag niet te groot worden ingesteld, omdat dit de grootte van de Perm beïnvloedt | =128m |
| -XX:+UseFastAccessorMethods | Snelle optimalisatie van het oorspronkelijke type | / |
| -XX:+DisableExplicitGC | Sluit System.gc() | Deze parameter vereist rigoureuze tests |
| -XX:MaxTenuringDrempel | Maximale leeftijd van afval | Als het op 0 staat, zal het nieuwe generatieobject direct het oude tijdperk binnengaan zonder door het Survivor-gebied te gaan. Voor oudere toepassingen kan de efficiëntie worden verbeterd. Als deze waarde op een grote waarde wordt gezet, wordt het nieuwe generatieobject meerdere keren gekopieerd in de Survivor-regio, wat de overlevingstijd van het object in de nieuwe generatie kan verlengen en de kans op hergebruik in de nieuwe generatie kan verhogen, wat alleen geldig is voor seriële GC |
| -XX:+AggressiveOpts | Versnellen compilatie | / |
| -XX:+UseBiasedLocking | Prestatieverbeteringen voor vergrendelingsmechanismen | / |
| -Xnoclassgc | Schakel afvalrecycling uit | / |
| -XX:SoftRefLRUPolicyMSPerMB | De overlevingstijd van SoftReference per megapile vrije ruimte | 1s |
| -XX:PretenureSizeDrempel | De grootte van het object wordt direct verdeeld in ouderdom | Een ander geval waarin de nieuwe generatie Parallel Scavenge GC gebruikt is ongeldig, en een ander geval waarin het in de oude tijd direct wordt toegewezen, is een groot array-object zonder externe referentieobjecten in de array. |
| -XX:TLABWasteTargetPercentage | Percentage TLAB in het Eden-gebied | 1% |
| -XX:+CollectGen0First | Of YGC op de eerste plaats komt bij FullGC | false |
| -XX:+UseParallelGC | Volledige GC gebruikt parallelle MSC | Zie [GC Parameters][1] |
| -XX:+UseParNewGC | De nieuwe generatie laten inzamelen parallel | Het kan worden gebruikt in combinatie met CMS-collectie, JDK 5.0 of later, en de JVM zal het aanpassen aan de systeemconfiguratie, dus het is niet nodig deze waarde opnieuw in te stellen |
| -XX:ParallelGCThreads | Het aantal threads voor de parallelle collector | Deze waarde is het beste geconfigureerd gelijk aan het aantal processors en is ook geschikt voor CMS |
| -XX:+UseParallelOldGC | De oude methode voor afvalverzameling heet Parallel Compacting | Dit is de parameteroptie die in JAVA 6 voorkomt |
| -XX:MaxGCPauseMillis | Maximale tijd per afvalinzameling van nieuwe generatie (maximale pauzetijd) | Als deze tijd niet wordt gehaald, zal de JVM automatisch de nieuwe generatie aanpassen om aan deze waarde te voldoen. |
| -XX:+UseAdaptiveSizePolicy | Selecteer automatisch de grootte van het nieuwe generatiegebied en de bijbehorende verhouding van het overlevendengebied | Wanneer deze optie is ingesteld, selecteert de parallelle collector automatisch de grootte van het nieuwe generatiegebied en het bijbehorende aandeel van het overlevende gebied om de minimale overeenkomstige tijd of verzamelfrequentie te bereiken die door het doelsysteem is gespecificeerd |
| -XX:GCTimeRatio | Stel de tijd van de garbage collection in als een percentage van de looptijd van het programma | De formule is 1/(1+n) |
| -XX:+ScavengeBeforeFullGC | Volledige GC voordat je YGC belt | true |
| -XX:+UseConcMarkSweepGC | Gebruik CMS-geheugencollectie | Na het configureren hiervan in de test is de configuratie van -XX:NewRatio=4 ongeldig, en de reden is onbekend, dus het is het beste om -Xmn te gebruiken om de grootte van de nieuwe generatie op dit moment in te stellen |
| -XX:+Agressieve Heap | De poging is om veel fysiek geheugen te gebruiken | Optimalisatie van langdurig groot geheugengebruik, kan rekenbronnen controleren (geheugen, aantal processors, minstens 256MB geheugen) is vereist |
| -XX:CMSFullGCsBeforeCompactT | Hoe vaak vindt geheugencompressie plaats? | Omdat de gelijktijdige collector de geheugenruimte niet comprimeert en organiseert, zal hij na een bepaalde periode "fragmentatie" produceren, wat de operationele efficiëntie vermindert |
| -XX:+CMSParallelOpmerkingIngeschakeld | Onderste marker pauzeert | / |
| -XX+UseCMSCompactAtFullCollection | Compressie van de ouderdom toen het FullGC was | CMS verplaatst geen geheugen, waardoor fragmentatie zeer gemakkelijk kan worden veroorzaakt, wat resulteert in onvoldoende geheugen, dus geheugencompressie wordt op dit moment ingeschakeld. Het is een goede gewoonte om deze parameter te verhogen. Het kan de prestaties beïnvloeden, maar het kan ook vuil elimineren |
| -XX:+GebruikCMSInitiatingInOccupancyOnly | Start CMS-verzameling met handmatige definitie-initialisatie | HostSpot mag CMS GC niet op zichzelf activeren |
| -XX:CMSInitiatingOccupancyFraction=70 | De CMS-inzameling begint nadat 70% van het afval is gebruikt als afvalrecycling | Deze waarde moet worden ingesteld om te voldoen aan de volgende formule, CMSInitiatingOccupancyFraction |
| -XX:CMSInitiatingPermBezettingsfractie | Stel het Perm Gen-gebruik in om te activeren wanneer de ratio is bereikt | 92 |
| -XX:+CMSIncrementalMode | Instellen op Incrementele modus | Gebruikt in single-CPU-behuizingen |
| -XX:+CMSClassUnloadingEnabled | Permanente CMS GC | / |
| -XX:+PrintGC | GC-loguitvoer | Hetzelfde als -verbose:gc |
| -XX:+PrintGCDetails | Ibid | Meer details |
| -XX:+PrintGCTimeStamps | Uitvoer GC-tijdstempel | Gebruik het met de bovenstaande PrintGC-parameter, of schrijf iets als -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+PrintGC:PrintGCTimeStamps | / | Kan worden gemengd met -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+PrintGCApplicationGestopteTijd | Het moment waarop het programma pauzeert tijdens het verzamelen van papieren afval. Kan worden gecombineerd met bovenstaande | Uitvoerformaat: Totale tijd waarin applicatiethreads werden gestopt: 0,0468229 seconden |
| -XX:+PrintGCApplicationConcurrentTime | Print de ononderbroken uitvoeringstijd van het programma vóór elke garbage collection | Kan worden gecombineerd met het bovenstaande, uitvoervorm: Toepassingstijd: 0,5291524 seconden |
| -XX:+PrintHeapAtGC | Print gedetailleerde stapelinformatie voor en na GC | / |
| -Xloggc:bestandsnaam | Log de relevante loginformatie in een bestand voor analyse | Werkt met de bovenstaande paar |
| -XX:+PrintClassHistogram | Na het indrukken van Ctrl+Break in de console, print je de klasse-informatie | / |
| -XX:+PrintClassHistogramBeforeFullGC | FullGC vóór het drukken | / |
| -XX:+PrintTLAB | Bekijk het gebruik van de TLAB-ruimte | / |
| XX:+PrintTenuringDistribution | Bekijk de drempel voor de nieuwe overlevingsperiode na elke kleine GC | / |
| -ea | Zet assert assert aan | / |
| -Xprof | Prestatiediagnostiek | / |
| -Xrunhprof | Prestatiediagnostiek | / |
| -XX:+TraceClassLoading | Print informatie over het laadproces van de klasse | Vergelijkbaar met [Loaded java.util.AbstractList$Itr van /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Informatie over het verwijderen van het proces van printklasse | / |
| Xbootclasspath | Specificeert het laden van klassen die geen checks vereisen | Het overslaan van de noodzakelijke pre-load checks kan de laadtijd verkorten, maar het is niet veilig |
| -XX:+PrintCompilatie | Print de methodenaam die Hotspot compileert met JIT | / |
| -XX:+HeapDumpOnOutOfMemoryError | OM bij het genereren van een heapdump | De standaarduitvoer bevindt zich in de rootmap waar de class-bestanden zijn opgeslagen |
| -XX:HeapDumpPath | Stel het pad voor het uitvoer van OM dumpbestanden in | Gebruik met -XX:+HeapDumpOnOutOfMemoryError |
| Parameternaam | beschrijving | Verstek |
| -d32 | Gebruik een 32-bits datamodel (indien beschikbaar) | / |
| -d64 | Gebruik een 64-bits datamodel (indien beschikbaar) | / |
| -server | Selecteer de server-VM | De standaard VM is server omdat je op een serverachtige machine draait. |
| -cp < directory- en zip/jar-bestandsklasse zoekpad > | / | / |
| -classpath < het klassezoekpad voor mappen en zip/jar-bestanden > | Gebruik : een lijst van gescheiden directories, JAR-archieven en ZIP-archieven om te zoeken naar klassebestanden | / |
| -D<名称>=<值> | Eigenschappen van het verzamelingssysteem | / |
| -Omschot: [Klas of GC of JNI] | Schakel gedetailleerde uitvoer in | / |
| -Versie | Voer de productversie uit en sluit uit | / |
| -<值>versie: | / | Verouderd |
| -Showversie | Voer de productversie uit en ga verder | / |
| -jre-restrict-search of -no-jre-restrict-search | / | Verouderd |
| -? -Help | Voer dit hulpbericht uit | / |
| -X | Hulp bij uitvoer met niet-standaard opties | / |
| -EA[:< pakketnaam, klasnaam>] | assert | / |
| -enableassertions[:< pakketnaam, klassenaam>] | Schakel asserties in bij de gespecificeerde granulariteit | / |
| -da[:< pakketnaam, klasnaam>] | / | / |
| -disableassertions[:< pakketnaam, klassenaam>] | Schakel asserties uit met een gespecificeerde granulariteit | / |
| -esa of -enablesystemasserties | Enable system asserties | / |
| -dsa of -disablesystemasserties | Schakel systeemasserties uit | / |
| -agentlib:<libname>[=<选项>] | Laad de native agentbibliotheek <libname> | Bijvoorbeeld, -agentlib:hprofZie ook -agentlib:jdwp=help en -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Laad de lokale agentbibliotheek met de volledige padnaam | / |
| -Javaagent:<jarpath>[=<选项>] | Om de Java programmeertaalagent te laden, zie java.lang.instrument | / |
| -Splash:<imagepath> | Toon het opstartscherm met de opgegeven afbeelding | / |