| Parameternamn | betydelse | Standardinställningar/Anteckningar |
| -XMS | Initial heapstorlek | 1/64 (<1GB) fysiskt minne Som standard (MinHeapFreeRatio-parametern kan justeras) När det fria heapminnet är mindre än 40 %, kommer JVM att öka heapen tills maxgränsen är -Xmx |
| -Xmx | Maximal heapstorlek | 1/4 av det fysiska minnesvärdet (<1GB) som standard (MaxHeapFreeRatio-parametern kan justeras) När det fria heapminnet är större än 70 %, kommer JVM att minska heapen tills minimigränsen är -xms |
| -Xmn | Generationsstorlek (JDK 1.4 eller högre) | Efter att den nya generationen har ökat kommer storleken på den gamla generationen att minska. Detta värde har en betydande inverkan på systemets prestanda. Sun rekommenderar officiellt konfigurationen till 3/8 av hela stacken |
| -Xss | Stackstorleken för varje tråd | Efter JDK5.0 var varje trådstackstorlek 1M, och tidigare var varje trådstacksstorlek 256K, vilket kan vara i K-, M- eller G-enheter |
| -XX:ThreadStackSize | Ibid | 0 betyder att standardvärdet används, och det kan inte förenas |
| -XX:PermSize | Sätt initialvärdet för permanent algebra | 1/64 av det fysiska minnet |
| -XX:MaxPermSize | Sätt maximalt permanent generering | En fjärdedel av det fysiska minnet |
| -XX:NewRatio | Förhållandet mellan kenozoikum (inklusive Eden och två överlevandezoner) till ålderdom (exklusive permanent generation) | -XX:NewRatio=4 betyder att förhållandet mellan kenozoikum och ålderdom är 1:4, och kenozoikum står för 1/5 av hela stacken, Xms=Xmx och Xmn är satt, denna parameter behöver inte sättas. |
| -XX:SurvivorRatio | Storleksförhållandet mellan Eden-området och Survivor-området | Om man sätter den till 8 är förhållandet mellan två Survivor-regioner och en Eden-region 2:8, och en Survivor-region står för 1/10 av hela kenozoikum |
| -XX:LargePageSizeInBytes | Storleken på minnessidan bör inte ställas in för stor, eftersom det påverkar storleken på Perm | =128 m |
| -XX:+UseFastAccessorMethods | Snabb optimering av originaltypen | / |
| -XX:+DisableExplicitGC | Stäng System.gc() | Denna parameter kräver rigorös testning |
| -XX:MaxTenuringThreshold | Maximal ålder på sopor | Om det sätts till 0 kommer det nya generationsobjektet att gå in i den gamla eran direkt utan att passera genom Survivor-området. För äldre applikationer kan effektiviteten förbättras. Om detta värde sätts till ett stort värde kommer det nya generationsobjektet att kopieras flera gånger i Survivor-regionen, vilket kan öka överlevnadstiden för objektet i den nya generationen och öka sannolikheten för att återanvändas i den nya generationen, vilket endast gäller för seriell GC |
| -XX:+AggressiveOpts | Snabbare sammanställning | / |
| -XX:+UseBiasedLocking | Prestandaförbättringar för låsmekanismer | / |
| -Xnoclassgc | Inaktivera återvinning av sopor | / |
| -XX:SoftRefLRUPolicyMSPerMB | SoftReferences överlevnadstid per megahög ledigt utrymme | 1:or |
| -XX:PretenureSizeThreshold | Objektets storlek är direkt fördelad i ålderdomen | Ett annat fall där den nya generationen använder Parallel Scavenge GC är ogiltigt, och ett annat fall där det tilldelas direkt i åldern är ett stort arrayobjekt utan externa referensobjekt i arrayen. |
| -XX:TLABWasteTargetPercent | Andel av TLAB i Eden-området | 1% |
| -XX:+CollectGen0First | Om YGC kommer först när FullGC blir | false |
| -XX:+UseParallelGC | Full GC använder parallell MSC | Se [GC-parametrar][1] |
| -XX:+UseParNewGC | Att sätta den nya generationen att samla in parallellt | Den kan användas tillsammans med CMS-samling, JDK 5.0 eller senare, och JVM kommer att ställa in den enligt systemkonfigurationen, så det finns inget behov av att sätta detta värde igen |
| -XX:ParallellGCThreads | Antalet trådar för parallellkollektoren | Detta värde konfigureras bäst lika med antalet processorer och är också lämpligt för CMS |
| -XX:+UseParallelOldGC | Den gamla metoden för sophämtning är Parallel Compacting | Detta är parameteralternativet som visas i JAVA 6 |
| -XX:MaxGCPauseMillis | Maximal tid per avfallsinsamling av ny generation (maximal paustid) | Om denna tid inte kan hållas kommer JVM automatiskt att ändra storleken på den nya generationen för att uppfylla detta värde. |
| -XX:+UseAdaptiveSizePolicy | Välj automatiskt storleken på det nya generationsområdet och motsvarande förhållande till överlevandeområdet | När detta alternativ är inställt väljer parallellkollektoren automatiskt storleken på det nya generationsområdet och motsvarande andel av överlevarytan för att uppnå den minsta motsvarande tiden eller insamlingsfrekvensen som målsystemet specificerar |
| -XX:GCTimeRatio | Sätt tiden för skräpupphämtning som en procentandel av programmets körtid | Formeln är 1/(1+n) |
| -XX:+ScavengeBeforeFullGC | Fullständig GC innan du ringer YGC | true |
| -XX:+UseConcMarkSweepGC | Använd CMS-minnessamling | Efter att ha konfigurerat detta i testet är konfigurationen -XX:NewRatio=4 ogiltig, och orsaken är okänd, så det är bäst att använda -Xmn för att ställa in storleken på den nya generationen just nu |
| -XX:+AggressiveHeap | Försöket är att använda mycket fysiskt minne | Optimering av långsiktig stor minnesanvändning, kan kontrollera datorresurser (minne, antal processorer, minst 256 MB minne) krävs |
| -XX:CMSFullGCsBeforeCompaction | Hur många gånger sker minneskomprimering? | Eftersom den samtidiga kollektorn inte komprimerar och organiserar minnesutrymmet, kommer den att producera "fragmentering" efter att ha körts under en tid, vilket minskar operationseffektiviteten |
| -XX:+CMSParallelAnmärkningAktiverad | Pauser på nedre markören | / |
| -XX+UseCMSCompactAtFullCollection | Kompression av ålderdomen när det var FullGC | CMS flyttar inte minne, så det är mycket lätt att skapa fragmentering, vilket resulterar i otillräckligt minne, så minneskomprimering aktiveras vid denna tidpunkt. Det är en bra vana att öka denna parameter. Det kan påverka prestandan, men det kan eliminera skräp |
| -XX:+UseCMSInitiatingOccupancyOnly | Starta CMS-insamling med manuell definitionsinitiering | HostSpot är förbjudet att trigga CMS GC på egen hand |
| -XX:CMSInitiatingOccupancyFraction=70 | CMS-insamlingen börjar efter att 70 % av soporna har använts som återvinning av sopor | Detta värde måste sättas för att uppfylla följande formel, CMSInitiatingOccupancyFraction |
| -XX:CMSInitiatingPermOccupancyFraction | Ställ in Perm Gen-användningen att triggas när förhållandet uppnås | 92 |
| -XX:+CMSIncrementalMode | Ställ in på inkrementellt läge | Används i en-CPU-chassin |
| -XX:+CMSClassUnloadingEnabled | Permanent CMS GC | / |
| -XX:+PrintGC | GC-loggutdata | Samma som -verbose:gc |
| -XX:+PrintGCDetails | Ibid | Mer information |
| -XX:+PrintGCTimeStamps | Utdata GC-tidsstämpel | Använd den med ovanstående PrintGC-parameter, eller skriv något i stil med -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+PrintGC:PrintGCTimeStamps | / | Kan blandas med -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+PrintGCApplicationStoppadTime | Tiden då programmet pausar under papperskorgsinsamling. Kan blandas med ovanstående | Utdataformat: Total tid för vilken applikationstrådar stoppades: 0,0468229 sekunder |
| -XX:+PrintGCApplicationConcurrentTime | Skriv ut programmets obrutna exekveringstid före varje skräpsamling | Kan blandas med ovanstående, utdata: Applikationstid: 0,5291524 sekunder |
| -XX:+PrintHeapAtGC | Skriv ut detaljerad stackinformation före och efter GC | / |
| -Xloggc:filnamn | Logga relevant logginformation till en fil för analys | Fungerar med de ovan nämnda få |
| -XX:+PrintClassHistogram | Efter att ha tryckt på Ctrl+Break i konsolen, skriv ut klassinformationen | / |
| -XX:+PrintClassHistogramBeforeFullGC | FullGC före tryckning | / |
| -XX:+PrintTLAB | Visa användningen av TLAB-utrymmet | / |
| XX:+PrintTenuringDistribution | Visa tröskeln för den nya överlevnadsperioden efter varje mindre GC | / |
| -ea | Slå på assert assert assert | / |
| -Xprof | Prestandadiagnostik | / |
| -Xrunhprof | Prestandadiagnostik | / |
| -XX:+TraceClassLoading | Skriver ut information om klassladdningsprocessen | Liknande [Loaded java.util.AbstractList$Itr från /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Utskriftsklass avinstallationsprocess information | / |
| Xbootclasspath | Specificerar laddningen av klasser som inte kräver kontroller | Att hoppa över nödvändiga förladdningskontroller kan minska laddningstiden, men det är inte säkert |
| -XX:+PrintSamling | Skriv ut metodnamnet som Hotspot kompilerar med hjälp av JIT | / |
| -XX:+HeapDumpOnOutMemoryError | OM när man genererar en heapdump | Standardutdata finns i rotmappen där klassfilerna lagras |
| -XX:HeapDumpPath | Ställ in den utgående OM dump-filvägen | Använd med -XX:+HeapDumpOnOutOfMemoryError |
| Parameternamn | beskrivning | Standard |
| -d32 | Använd en 32-bitars datamodell (om tillgänglig) | / |
| -d64 | Använd en 64-bitars datamodell (om tillgänglig) | / |
| -server | Välj server-VM | Standard-VM:n är server eftersom du kör på en serverliknande maskin. |
| -cp < katalog- och zip/jar-filklasssökväg > | / | / |
| -classpath < sökvägen för kataloger och zip/jar-filer > | Använd : en lista över separata kataloger, JAR-arkiv och ZIP-arkiv för att söka efter klassfiler | / |
| -D<名称>=<值> | Mängdsystemets egenskaper | / |
| -Ordrik: [klass eller GC eller JNI] | Aktivera detaljerad utdata | / |
| -version | Exportera produktversionen och avsluta | / |
| -<值>version: | / | Föråldrad |
| -Showversion | Exportera produktversionen och fortsätt | / |
| -jre-restrict-search eller -no-jre-restrict-search | / | Föråldrad |
| -? -Hjälp | Skicka ut detta hjälpmeddelande | / |
| -X | Hjälp med utdata med icke-standardiserade alternativ | / |
| -EA[:< paketnamn, klassnamn>] | Assert | / |
| -enableassertions[:< paketnamn, klassnamn>] | Aktivera assertioner vid den angivna granulariteten | / |
| -da[:< paketnamn, klassnamn>] | / | / |
| -disableassertions[:< paketnamn, klassnamn>] | Inaktivera assertioner med en specificerad granularitet | / |
| -esa eller -enablesystemassertioner | Aktivera systempåståenden | / |
| -dsa eller -disablesystemassertioner | Inaktivera systemassertioner | / |
| -agentlib:<libname>[=<选项>] | Ladda det inbyggda agentbiblioteket <libname> | Till exempel, -agentlib:hprofSe även -agentlib:jdwp=help och -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Ladda det lokala agentbiblioteket med hela sökvägsnamnet | / |
| -Javaagent:<jarpath>[=<选项>] | För att ladda Java programmeringsagent, se java.lang.instrument | / |
| -plask:<imagepath> | Visa startskärmen med den angivna bilden | / |