| Nome do parâmetro | significado | Padrão/Notas |
| -Xms | Tamanho inicial do heap | 1/64 (<1GB) de memória física Por padrão (o parâmetro MinHeapFreeRatio pode ser ajustado) Quando a memória do heap livre for inferior a 40%, a JVM aumentará o heap até o limite máximo de -Xmx |
| -Xmx | Tamanho máximo do heap | 1/4 da memória física (<1GB) padrão (o parâmetro MaxHeapFreeRatio pode ser ajustado) Quando a memória do heap livre é maior que 70%, a JVM reduzirá o heap até o limite mínimo de -xms |
| -Xmn | Tamanho da geração (JDK 1.4 ou superior) | Após aumentar a nova geração, o tamanho da geração antiga será reduzido. Esse valor tem um impacto significativo no desempenho do sistema. A Sun recomenda oficialmente a configuração para 3/8 de toda a pilha |
| -Xss | O tamanho da pilha de cada thread | Após o JDK5.0, cada tamanho de pilha de threads era 1M, e anteriormente cada tamanho de pilha de threads era 256K, que pode estar em unidades K, M ou G |
| -XX:TamanhoPilhaThreadStack | Ibid | 0 significa que o valor padrão é usado e ele não pode ser unido |
| -XX:Tamanho permanente | Defina o valor inicial da álgebra permanente | 1/64 da memória física |
| -XX:MaxPermSize | Defina o máximo de geração permanente | 1/4 da memória física |
| -XX:NewRatio | Proporção entre o Cenozóico (incluindo Éden e duas zonas Survivor) e a Velhice (excluindo geração permanente) | -XX:NewRatio=4 significa que a razão entre o Cenozóico e a Idade Avançada é 1:4, e o Cenozóico representa 1/5 de toda a pilha, Xms=Xmx e Xmn está definido, esse parâmetro não precisa ser definido. |
| -XX:Razão de Sobreviventes | A proporção de tamanho da área Eden em relação à área dos Sobreviventes | Se definido para 8, a razão de duas regiões Survivor para uma região Eden é 2:8, e uma região Survivor representa 1/10 de todo o Cenozóico |
| -XX:GrandeTamanhoPáginaEmBytes | O tamanho da página de memória não deve ser definido muito grande, pois isso afetará o tamanho da Perm | =128m |
| -XX:+UseFastAccessorMethods | Otimização rápida do tipo original | / |
| -XX:+DisableExplicitGC | Fechar System.gc() | Esse parâmetro requer testes rigorosos |
| -XX:LimiarMáximo de Estabilidade | Idade máxima do lixo | Se configurado para 0, o objeto de nova geração entrará diretamente na era antiga sem passar pela área do Sobrevivente. Para aplicações mais antigas, a eficiência pode ser melhorada. Se esse valor for definido para um valor grande, o objeto da nova geração será copiado várias vezes na região Survivor, o que pode aumentar o tempo de sobrevivência do objeto na nova geração e aumentar a probabilidade de ser reciclado na nova geração, o que só é válido para GC serial |
| -XX:+Optas Agressivas | Compilação de aceleração | / |
| -XX:+UsarTravamentoEnviesadoT | Melhorias de desempenho para mecanismos de travamento | / |
| -Xnoclassgc | Desativar a reciclagem de lixo | / |
| -XX:SoftRefLRUPolicyMSPerMB | O tempo de sobrevivência do SoftReference por megapilha de espaço livre | 1s |
| -XX:Pré-TenênciaLimiarTamanhoTamanho | O tamanho do objeto é distribuído diretamente na velhice | Outro caso em que a nova geração usa Parallel Scavenge GC é inválido, e outro caso em que é diretamente atribuído na antiguidade é um grande objeto array sem objetos de referência externos no array. |
| -XX:TLABasteTargetPercentual | Percentual de TLAB na área de Eden | 1% |
| -XX:+CollectGen0First | Se o YGC vem primeiro quando o FullGC | false |
| -XX:+UseParallelGC | GC completo usa MSC paralelo | Veja [Parâmetros GC][1] |
| -XX:+UseParNewGC | Colocando a nova geração para coletar em paralelo | Pode ser usado em conjunto com a coleção CMS, JDK 5.0 ou posterior, e a JVM o definirá de acordo com a configuração do sistema, então não há necessidade de definir esse valor novamente |
| -XX:ParallelGCThreads | O número de roscas para o coletor paralelo | Esse valor é melhor configurado igual ao número de processadores, e também é adequado para CMS |
| -XX:+UsarParaleloVelhoGC | O antigo método de coleta de lixo é a Compactação Paralela | Essa é a opção de parâmetro que aparece no JAVA 6 |
| -XX:MaxGCPauseMillis | Tempo máximo por coleta de resíduos de nova geração (tempo máximo de pausa) | Se esse tempo não puder ser atingido, a JVM automaticamente redimensionará a nova geração para atender a esse valor. |
| -XX:+UseAdaptiveSizePolicy | Selecione automaticamente o tamanho da nova área de geração e a razão correspondente da área sobrevivente | Quando essa opção é definida, o coletor paralelo seleciona automaticamente o tamanho da nova área de geração e a proporção correspondente da área sobrevivente para alcançar o tempo ou frequência de coleta mínima especificado pelo sistema-alvo |
| -XX:GCTimeRatio | Defina o tempo de coleta de lixo como uma porcentagem do tempo de execução do programa | A fórmula é 1/(1+n) |
| -XX:+SaqueAntesDeFullGC | Procuro geral completo antes de ligar para o YGC | true |
| -XX:+UsarConcMarkSweepGC | Use a coleção de memória do CMS | Após configurar isso no teste, a configuração de -XX:NewRatio=4 é inválida, e o motivo é desconhecido, então é melhor usar -Xmn para definir o tamanho da nova geração neste momento |
| -XX:+Pilha Agressiva | A tentativa é usar muita memória física | A otimização do uso de grande memória a longo prazo, que pode verificar recursos computacionais (memória, número de processadores, pelo menos 256MB de memória) é necessária |
| -XX:CMSFullGCsBeforeCompactation | Quantas vezes ocorre compressão de memória? | Como o coletor concorrente não comprime e organiza o espaço de memória, ele produzirá "fragmentação" após um período de execução, o que reduz a eficiência da operação |
| -XX:+CMSParallelRemarkAtivado | Pausas de marcador inferior | / |
| -XX+UseCMSCompactAtFullCollection | Compressão da velhice quando era FullGC | O CMS não move memória, então é muito fácil produzir fragmentação, resultando em memória insuficiente, então a compressão de memória será ativada neste momento. É um bom hábito aumentar esse parâmetro. Pode afetar o desempenho, mas pode eliminar detritos |
| -XX:+UseCMSInitiatingOccupancyOnly | Iniciar a coleta do CMS com inicialização manual de definição | O HostSpot está proibido de acionar o CMS GC por conta própria |
| -XX:CMSInitiatingOcupancyFraction=70 | A coleta do CMS começa após 70% do lixo ser usado como reciclagem de lixo | Esse valor precisa ser definido para atender à seguinte fórmula, CMSInitiatingOccupancyFraction |
| -XX:CMSInitiatingPermOccupancyFraction | Configure o uso do gerador permanente para disparar quando a proporção for atingida | 92 |
| -XX:+CMSIncrementalMode | Definido para modo incremental | Uso em casos de CPU única |
| -XX:+CMSClassUnloadingEnabled | GC permanente do CMS | / |
| -XX:+PrintGC | Saída logarítmica do GC | Igual a -verbose:gc |
| -XX:+PrintGCDetails | Ibid | Mais detalhes |
| -XX:+PrintGCTimeStamps | Carimbo de tempo do GC de saída | Use com o parâmetro PrintGC acima, ou escreva algo como -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+PrintGC:PrintGCTimeStamps | / | Pode ser misturado com -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+ImprimirGCApplicaçãoTempoParadoTempo | O horário em que o programa pausa durante a coleta de lixo impresso. Pode ser misturado com o acima | Formato de saída: Tempo total em que as threads da aplicação foram paradas: 0,0468229 segundos |
| -XX:+ImprimirGCApplicaçãoTempo ConcorrenteT | Imprima o tempo de execução ininterrupto do programa antes de cada coleta de lixo | Pode ser misturado com o acima, forma de saída: Tempo de aplicação: 0,5291524 segundos |
| -XX:+PrintHeapAtGC | Imprima informações detalhadas sobre a pilha antes e depois do GC | / |
| -Xloggc:nome do arquivo | Registre as informações relevantes do log em um arquivo para análise | Funciona com os poucos acima |
| -XX:+HistogramaClassImpressa | Após pressionar Ctrl+Break no console, imprima as informações da classe | / |
| -XX:+HistogramaClassImpressaAntesGC | FullGC antes da impressão | / |
| -XX:+PrintTLAB | Veja o uso do espaço TLAB | / |
| XX:+PrintTenuringDistribution | Veja o limiar para o novo período de sobrevivência após cada GC menor | / |
| -EA | Ativar asserter asserto | / |
| -Xprof | Diagnóstico de desempenho | / |
| -Xrunhprof | Diagnóstico de desempenho | / |
| -XX:+TraceClassLoading | Imprime informações sobre o processo de carregamento da classe | Semelhante a [Carregado java.util.AbstractList$Itr de /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Informações sobre o processo de desinstalação da classe de impressão | / |
| Xbootclasspath | Especifica o carregamento de classes que não exigem verificações | Pular as verificações necessárias antes da carga pode reduzir o tempo de carregamento, mas não é seguro |
| -XX:+CompilaçãoImpressa | Imprima o nome do método que o Hotspot compila usando JIT | / |
| -XX:+HeapDumpEmEmErroDeMemóriaNãoDelaMemória | OM ao gerar um dump de heap | A saída padrão está na pasta raiz onde os arquivos de classe são armazenados |
| -XX:CaminhoDumpDeMonte | Defina o caminho do arquivo de despejo OM de saída | Use com -XX:+HeapDumpOnOutOfMemoryError |
| Nome do parâmetro | descrição | Inadimplência |
| -d32 | Use um modelo de dados de 32 bits (se disponível) | / |
| -d64 | Use um modelo de dados de 64 bits (se disponível) | / |
| -servidor | Selecione a VM do servidor | A VM padrão é servidor porque você está rodando em uma máquina parecida com servidor. |
| -cp diretório < e caminho de busca de classe zip/jar > | / | / |
| -classpath < o caminho de busca de classes para diretórios e arquivos zip/jar > | Use: uma lista de diretórios separados, arquivos JAR e arquivos ZIP para buscar arquivos de classes | / |
| -D<名称>=<值> | Propriedades do sistema de conjuntos | / |
| -verboso: [turma ou GC ou JNI] | Habilitar a saída detalhada | / |
| -Versão | Saída da versão do produto e saída | / |
| -<值>versão: | / | Descontinuado |
| -versão de exibição | Saia a versão do produto e continue | / |
| -jre-restring-search ou -no-jre-restrict-search | / | Descontinuado |
| -? -Ajuda | Emita esta mensagem de ajuda | / |
| -X | Ajuda de saída com opções não padrão | / |
| -EA[:< nome do pacote, nome da turma>] | assert | / |
| -enableassertion[:< nome do pacote, nome da classe>] | Permitir asserções na granularidade especificada | / |
| -da[:< nome do pacote, nome da turma>] | / | / |
| -disableassertion[:< nome do pacote, nome da turma>] | Desabilite asserções com granularidade especificada | / |
| -ESA ou -enablesystemassertions | Permitir asserções do sistema | / |
| -DSA ou -disablesystemassertions | Desativar asserções do sistema | / |
| -agentlib:<libname>[=<选项>] | Carregue a biblioteca <libname>de agentes nativos | Por exemplo, -agentlib:hprofVeja também -agentlib:jdwp=help e -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Carregue a biblioteca do agente local pelo nome completo do caminho | / |
| -javaagent:<jarpath>[=<选项>] | Para carregar o agente da linguagem de programação Java, veja java.lang.instrument | / |
| -Splash:<imagepath> | Exiba a tela inicial com a imagem especificada | / |