| Nome del parametro | significato | Predefiniti/Note |
| -Xms | Dimensione iniziale dell'heap | 1/64 (<1GB) di memoria fisica Per impostazione predefinita (il parametro MinHeapFreeRatio può essere regolato) Quando la memoria del heap libero è inferiore al 40%, la JVM aumenterà l'heap fino al limite massimo di -Xmx |
| -Xmx | Dimensione massima del mucchio | 1/4 della memoria fisica (<1GB) predefinito (il parametro MaxHeapFreeRatio può essere regolato) Quando la memoria del heap libero è superiore al 70%, la JVM ridurrà l'heap fino al limite minimo di -xms |
| -Xmn | Dimensione della generazione (JDK 1.4 o superiore) | Dopo l'aumento della nuova generazione, la dimensione della vecchia generazione sarà ridotta. Questo valore ha un impatto significativo sulle prestazioni del sistema. Sun raccomanda ufficialmente la configurazione a 3/8 dell'intero stack |
| -Xss | La dimensione dello stack di ogni thread | Dopo JDK5.0, la dimensione dello stack di ogni thread era di 1M, e precedentemente la dimensione dello stack di thread era di 256K, che può essere in unità K, M o G |
| -XX:DimensioneStackThread | Ibid | 0 significa che il valore predefinito è usato e non può essere unito |
| -XX:Dimensioni permanenti | Imposta il valore iniziale dell'algebra permanente | 1/64 della memoria fisica |
| -XX:MaxPermDimensione | Imposta il massimo permanente di generazione | 1/4 della memoria fisica |
| -XX:NewRatio | Rapporto tra il Cenozoico (inclusi l'Eden e due zone Survivor) rispetto all'età avanzata (escludendo la generazione permanente) | -XX:NewRatio=4 significa che il rapporto tra il Cenozoico e l'Età Vecchia è 1:4, e il Cenozoico rappresenta 1/5 dell'intero stack, Xms=Xmx e Xmn è impostato, questo parametro non deve necessariamente essere impostato. |
| -XX:Rapporto sopravvissuto | Il rapporto di dimensioni dell'area Eden rispetto all'area dei Survivor | Se impostato a 8, il rapporto tra due regioni Survivor e una regione Eden è 2:8, e una regione Survivor rappresenta 1/10 dell'intero Cenozoico |
| -XX:GrandeDimensionePaginaInBytes | La dimensione della pagina di memoria non dovrebbe essere impostata troppo grande, poiché influenzerebbe la dimensione della Perm | =128m |
| -XX:+UsaMetodiAccessoriVeloci | Ottimizzazione rapida del tipo originale | / |
| -XX:+DisabilitaEsplicitaGC | Chiudi System.gc() | Questo parametro richiede test rigorosi |
| -XX:Soglia massima di incaricoIncarico | Età massima della spazzatura | Se impostato a 0, l'oggetto di nuova generazione entrerà direttamente nella vecchia era senza passare attraverso l'area dei Sopravvissuti. Per applicazioni più vecchie, l'efficienza può essere migliorata. Se questo valore viene impostato a un valore grande, l'oggetto di nuova generazione verrà copiato più volte nella regione Survivor, il che può aumentare il tempo di sopravvivenza dell'oggetto nella nuova generazione e aumentare la probabilità di essere riciclato nella nuova generazione, valido solo per GC seriali |
| -XX:+Opt Aggressive | Compilation Speed Up | / |
| -XX:+UsaBloccaDistorto | Miglioramenti delle prestazioni per i meccanismi di bloccaggio | / |
| -Xnoclassgc | Disabilita il riciclo dei rifiuti | / |
| -XX:SoftRefLRUPolicyMSPerMB | Il tempo di sopravvivenza di SoftReference per megapila di spazio libero | 1 |
| -XX:PretenureSoglia di Dimensione | La dimensione dell'oggetto è distribuita direttamente nell'età avanzata | Un altro caso in cui la nuova generazione usa Parallel Scavenge GC è invalido, e un altro caso in cui viene assegnato direttamente in vecchia età è un grande oggetto array senza oggetti di riferimento esterni nell'array. |
| -XX:TLABasteTargetPercentuale | Percentuale di TLAB nell'area di Eden | 1% |
| -XX:+CollectGen0First | Se YGC viene prima quando FullGC | false |
| -XX:+UsaParallelGC | Il GC completo utilizza MSC parallelo | Vedi [Parametri GC][1] |
| -XX:+UseParNewGC | Impostare la nuova generazione a raccogliere in parallelo | Può essere usato insieme alla raccolta CMS, JDK 5.0 o successiva, e la JVM lo imposterà in base alla configurazione del sistema, quindi non è necessario riimpostare questo valore |
| -XX:ParallelGCThreads | Il numero di filettature per il collettore parallelo | Questo valore si configura meglio pari al numero di processori ed è adatto anche per CMS |
| -XX:+UsaParalleloOldGC | Il vecchio metodo di raccolta dei rifiuti è la Compattazione Parallela | Questa è l'opzione parametro che appare in JAVA 6 |
| -XX:MaxGCPauseMillis | Tempo massimo per ogni nuova generazione di raccolta dei rifiuti (tempo massimo di pausa) | Se questo tempo non può essere rispettato, la JVM ridimensionerà automaticamente la nuova generazione per soddisfare questo valore. |
| -XX:+UsaDimensioneAdattivativaPolicy | Seleziona automaticamente la dimensione della nuova area di generazione e il corrispondente rapporto tra l'area sopravvissuta | Quando questa opzione è impostata, il collettore parallelo seleziona automaticamente la dimensione della nuova area di generazione e la corrispondente proporzione dell'area sopravvissuta per raggiungere il tempo o la frequenza di raccolta minima specificata dal sistema target |
| -XX:GCTimeRatio | Imposta il tempo di raccolta dei rifiuti come percentuale del tempo di esecuzione del programma | La formula è 1/(1+n) |
| -XX:+RecuperaPrimaFullGC | Ricevuta Generale completa prima di chiamare YGC | true |
| -XX:+UsaConcMarcaSpazzaGC | Usa la raccolta di memoria CMS | Dopo aver configurato questo nel test, la configurazione di -XX:NewRatio=4 è invalida e la ragione è sconosciuta, quindi è meglio usare -Xmn per impostare la dimensione della nuova generazione in questo momento |
| -XX:+Impicco Aggressivo | Il tentativo è di usare molta memoria fisica | È necessaria l'ottimizzazione dell'uso di memoria a lungo termine e di grande intensità, permettendo di controllare le risorse di calcolo (memoria, numero di processori, almeno 256MB di memoria) |
| -XX:CMSFullGCsPrimaCompattazione | Quante volte avviene la compressione della memoria? | Poiché il collettore concorrente non comprime e non organizza lo spazio di memoria, produce una "frammentazione" dopo essere stato eseguito per un certo periodo, riducendo così l'efficienza operativa |
| -XX:+CMSParallelRemarkAbilitato | Pause inferiori dei marcatori | / |
| -XX+UseCMSCompactAtFullCollection | Compressione della vecchiaia quando era FullGC | Il CMS non sposta la memoria, quindi è molto facile produrre frammentazione, con conseguente insufficienza di memoria, quindi la compressione della memoria sarà attivata in questo momento. È una buona abitudine aumentare questo parametro. Può influire sulle prestazioni, ma può eliminare i detriti |
| -XX:+UseCMSInitiatingOccupancyOnly | Avvia la raccolta CMS con inizializzazione manuale della definizione | HostSpot è proibito attivare CMS GC da solo |
| -XX:CMSInitiatingOccupancyFraction=70 | La raccolta CMS inizia dopo che il 70% dei rifiuti viene utilizzato come riciclaggio dei rifiuti | Questo valore deve essere impostato per soddisfare la seguente formula, CMSInitiatingOccupancyFraction |
| -XX:CMSInitiatingPermOccupancyFraction | Imposta l'uso del Perm Gen per farlo attivare quando il rapporto è raggiunto | 92 |
| -XX:+CMSIncrementalMode | Impostato su modalità incrementale | Utilizzato in case a CPU singola |
| -XX:+CMSClassUnloadingEnabled | GC permanente CMS | / |
| -XX:+PrintGC | Output logaritmico GC | Stesso vale per -verbose:gc |
| -XX:+PrintGCDetails | Ibid | Maggiori dettagli |
| -XX:+StampGCTimeStamps | Timestamp GC di uscita | Usalo con il parametro PrintGC sopra citato, oppure scrivi qualcosa come -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+StampGC:StampGCTimeStamps | / | Può essere miscelato con -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+StampaGCApplicazioneStoppedTime | Il momento in cui il programma si ferma durante la raccolta dei rifiuti di stampa. Può essere mescolato con quanto sopra | Formato di output: tempo totale per cui i thread applicativi sono stati fermati: 0,0468229 secondi |
| -XX:+StampGCApplicazioneTempoContemporaneoT | Stampare il tempo di esecuzione ininterrotto del programma prima di ogni garbage collection | Può essere miscelato con quanto sopra, forma di output: Tempo di applicazione: 0,5291524 secondi |
| -XX:+PrintHeapAtGC | Stampare informazioni dettagliate sugli stack prima e dopo la GC | / |
| -Xloggc:nome file | Registra le informazioni di log rilevanti in un file per l'analisi | Funziona con i pochi sopra |
| -XX:+IstogrammaClasseStampaT | Dopo aver premuto Ctrl+Break nella console, stampare le informazioni della classe | / |
| -XX:+StampaClasseIstogrammaPrimaGC | FullGC prima della stampa | / |
| -XX:+PrintTLAB | Visualizza l'uso dello spazio TLAB | / |
| XX:+PrintTenuringDistribution | Visualizza la soglia per il nuovo periodo di sopravvivenza dopo ogni GC minore | / |
| -EA | Attiva la dichiarazione | / |
| -Xprof | Diagnostica delle prestazioni | / |
| -Xrunhprof | Diagnostica delle prestazioni | / |
| -XX:+TracciaClasseCaricamento | Stampa informazioni sul processo di caricamento delle classi | Simile a [Caricato java.util.AbstractList$Itr da /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Informazioni sul processo di disinstallazione della classe di stampa | / |
| Xbootclasspath | Specifica il carico delle classi che non richiedono controlli | Saltare i controlli pre-caricamento necessari può ridurre il tempo di caricamento, ma non è sicuro |
| -XX:+Compilation Stampa | Stampare il nome del metodo che Hotspot compila usando JIT | / |
| -XX:+HeapDumpOnOutOfMemoryError | OM quando si genera un dump di heap | L'output predefinito si trova nella cartella radice dove sono memorizzati i file di classe |
| -XX:ViaSvuotoDel Mucchio | Imposta il percorso del file di dump OM in uscita | Usa con -XX:+HeapDumpOnOutOfMemoryError |
| Nome del parametro | descrizione | Default |
| -d32 | Utilizzare un modello dati a 32 bit (se disponibile) | / |
| -d64 | Utilizzare un modello dati a 64 bit (se disponibile) | / |
| -server | Seleziona la VM server | La VM predefinita è server perché stai girando su una macchina simile a un server. |
| -cp < directory e percorso di ricerca di classi zip/jar file > | / | / |
| -classpath < il percorso di ricerca di classi per directory e file zip/jar > | Utilizza: un elenco di directory separate, archivi JAR e archivi ZIP per cercare file di classe | / |
| -D<名称>=<值> | Imposta proprietà del sistema | / |
| -verboso: [classe o GC o JNI] | Abilita output dettagliato | / |
| -Versione | Uscita della versione del prodotto e uscita | / |
| -<值>versione: | / | Deprecato |
| -versione dello spettacolo | Pubblica la versione del prodotto e continua | / |
| -jre-restringire-ricerca o -no-jre-restringire-ricerca | / | Deprecato |
| -? -Guida | Invia questo messaggio di aiuto | / |
| -X | Aiuto per l'output con opzioni non standard | / |
| -EA[:< nome pacco, nome della classe>] | asserta | / |
| -enableassertion[:< nome pacchetto, nome classe>] | Abilita le asserzioni alla granularità specificata | / |
| -da[:< nome pacco, nome della classe>] | / | / |
| -disableassertion[:< nome pacchetto, nome classe>] | Disabilita le asserzioni con una granularità specificata | / |
| -ESA o -enablesystemassertions | Abilita le asserzioni di sistema | / |
| -DSA o -disablesystemassertions | Disabilita le asserzioni di sistema | / |
| -agentlib:<libname>[=<选项>] | Carica la libreria <libname>dell'agente nativo | Ad esempio, -agentlib:hprofVedi anche -agentlib:jdwp=help e -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Carica la libreria agente locale con il nome completo del percorso | / |
| -javaagent:<jarpath>[=<选项>] | Per caricare l'agente del linguaggio di programmazione Java, consulta java.lang.instrument | / |
| -splash:<imagepath> | Visualizza la schermata iniziale con l'immagine specificata | / |