| Nombre del parámetro | significado | Valores predeterminados/Notas |
| -Xms | Tamaño inicial del montón | 1/64 (<1GB) de memoria física Por defecto (el parámetro MinHeapFreeRatio puede ajustarse) Cuando la memoria del heap libre es inferior al 40%, la JVM aumentará el heap hasta el límite máximo de -Xmx |
| -Xmx | Tamaño máximo del montón | 1/4 de la memoria física (<1GB) por defecto (el parámetro MaxHeapFreeRatio puede ajustarse) Cuando la memoria del heap libre es mayor al 70%, la JVM reducirá el heap hasta el límite mínimo de -xms |
| -Xmn | Tamaño de generación (JDK 1.4 o superior) | Tras aumentar la nueva generación, el tamaño de la generación anterior se reducirá. Este valor tiene un impacto significativo en el rendimiento del sistema. Sun recomienda oficialmente la configuración a 3/8 de toda la pila |
| -Xss | El tamaño de la pila de cada hilo | Después de JDK5.0, cada tamaño de pila de hilos era 1M, y anteriormente cada tamaño de pila de hilos era 256K, que puede estar en unidades K, M o G |
| -XX:TamañoHiloStackSize | Ibid | 0 significa que se usa el valor predeterminado y no puede unirse |
| -XX:Tamaño permanente | Fija el valor inicial del álgebra permanente | 1/64 de la memoria física |
| -XX:Tamaño Máximo Perm | Fija el máximo de generación permanente | 1/4 de la memoria física |
| -XX:NewRatio | Proporción entre el Cenozoico (incluyendo el Edén y dos zonas Supervivientes) respecto a la Vejez (excluyendo la generación permanente) | -XX:NewRatio=4 significa que la relación entre el Cenozoico y la Edad Avanzada es 1:4, y el Cenozoico representa 1/5 de toda la pila, Xms=Xmx y Xmn está establecido, este parámetro no necesita ser establecido. |
| -XX:Ratio de Supervivientes | La proporción de tamaño del área del Edén respecto al área de los Supervivientes | Si se pone en 8, la proporción de dos regiones Supervivientes por una región del Edén es 2:8, y una región Superviviente representa 1/10 de todo el Cenozoico |
| -XX:GrandeTamañoDePáginaEnBytes | El tamaño de la página de memoria no debe ser demasiado grande, ya que afectará al tamaño de la Perm | =128m |
| -XX:+UsarMétodos de AccesoRápidoRápido | Optimización rápida del tipo original | / |
| -XX:+DesactivarExplicitGC | Cerrar System.gc() | Este parámetro requiere pruebas rigurosas |
| -XX:Umbral máximo de permanencia | Edad máxima de la basura | Si se configura en 0, el objeto de nueva generación entrará directamente en la era antigua sin pasar por el área de Superviviente. Para aplicaciones más antiguas, la eficiencia puede mejorarse. Si este valor se establece en un valor grande, el objeto de nueva generación se copiará varias veces en la región Superviviente, lo que puede aumentar el tiempo de supervivencia del objeto en la nueva generación y aumentar la probabilidad de ser reciclado en la nueva generación, lo cual solo es válido para GC serial |
| -XX:+Optas Agresivas | Recopilación de aceleración | / |
| -XX:+UsarBloqueoParcial | Mejoras de rendimiento para los mecanismos de bloqueo | / |
| -Xnoclassgc | Desactivar el reciclaje de basura | / |
| -XX:SoftRefLRUPolicyMSPerMB | El tiempo de supervivencia de SoftReference por megapila de espacio libre | 1s |
| -XX:PretenenciaTamañoUmbral | El tamaño del objeto se distribuye directamente en la vejez | Otro caso en el que la nueva generación usa Parallel Scavenge GC es inválido, y otro caso en el que se asigna directamente en la antigüedad es un objeto de array grande sin objetos de referencia externos en el array. |
| -XX:TLABWasteTargetPercentageT | Porcentaje de TLAB en la zona de Eden | 1% |
| -XX:+CollectGen0First | Si el YGC es lo primero cuando FullGC | false |
| -XX:+UsarParaleloGC | El GC completo utiliza MSC en paralelo | Ver [Parámetros GC][1] |
| -XX:+UseParNewGC | Poner a la nueva generación a coleccionar en paralelo | Puede usarse junto con la colección CMS, JDK 5.0 o posterior, y la JVM lo configurará según la configuración del sistema, por lo que no es necesario volver a establecer este valor |
| -XX:ParallelGCThreads | El número de hilos para el colector paralelo | Este valor se configura mejor igual al número de procesadores, y también es adecuado para CMS |
| -XX:+UsarParaleloViejoGC | El método antiguo de recogida de basura es el Compactado Paralelo | Esta es la opción de parámetros que aparece en JAVA 6 |
| -XX:MaxGCPauseMillis | Tiempo máximo por recogida de residuos de nueva generación (tiempo máximo de pausa) | Si este tiempo no se cumple, la JVM redimensionará automáticamente la nueva generación para cumplir con este valor. |
| -XX:+UseAdaptiveSizePolicy | Seleccionar automáticamente el tamaño de la nueva zona de generación y la correspondiente proporción del área superviviente | Cuando se activa esta opción, el colector paralelo selecciona automáticamente el tamaño del área de nueva generación y la proporción correspondiente del área superviviente para alcanzar el tiempo o frecuencia de recogida mínima especificado por el sistema objetivo |
| -XX:GCTimeRatio | Establece el tiempo de recogida de basura como un porcentaje del tiempo de ejecución del programa | La fórmula es 1/(1+n) |
| -XX:+SaqueAntesDeFullGC | Tengo el GC completo antes de llamar a YGC | true |
| -XX:+UsarConcMarcaBarridoGC | Uso de la colección de memoria CMS | Tras configurar esto en la prueba, la configuración de -XX:NewRatio=4 es inválida y la razón es desconocida, por lo que es mejor usar -Xmn para establecer el tamaño de la nueva generación en este momento |
| -XX:+Montón Agresivo | El intento es usar mucha memoria física | Se requiere optimización del uso largo de memoria a largo plazo, que puede comprobar recursos informáticos (memoria, número de procesadores, al menos 256MB de memoria) |
| -XX:CMSFullGCsBeforeCompactation | ¿Cuántas veces ocurre la compresión de la memoria? | Dado que el colector concurrente no comprime ni organiza el espacio de memoria, producirá "fragmentación" tras un periodo de tiempo ejecutado, lo que reduce la eficiencia de la operación |
| -XX:+CMSParallelRemarkHabilitado | Pausas en el marcador inferior | / |
| -XX+UseCMSCompactAtFullCollection | Compresión de la vejez cuando era FullGC | CMS no mueve memoria, por lo que es muy fácil producir fragmentación, lo que resulta en memoria insuficiente, por lo que la compresión de memoria estará habilitada en este momento. Es buena costumbre aumentar este parámetro. Puede afectar al rendimiento, pero puede eliminar residuos |
| -XX:+UseCMSInitiatingOccupancyOnly | Iniciar la recopilación CMS con inicialización manual de definición | HostSpot tiene prohibido activar CMS GC por sí sola |
| -XX:CMSInitiatingOccupancyFraction=70 | La recogida de CMS comienza después de que el 70% de la basura se utilice como reciclaje de basura | Este valor debe establecerse para cumplir con la siguiente fórmula, CMSInitiatingOccupancyFraction |
| -XX:CMSInitiatingPermOccupancyFraction | Configura el uso de Perm Gen para que se active cuando se alcance la proporción | 92 |
| -XX:+CMSIncrementalMode | Configurado en modo incremental | Uso en casos de CPU única |
| -XX:+CMSClassUnloadingEnabled | GC permanente de CMS | / |
| -XX:+PrintGC | Salida logarítmica de GC | Igual que -verbose:gc |
| -XX:+PrintGCDetails | Ibid | Más detalles |
| -XX:+PrintGCTimeStamps | Marca temporal de la GC de salida | Úsalo con el parámetro PrintGC anterior, o escribe algo como -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+PrintGC:PrintGCTimeStamps | / | Puede mezclarse con -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+ImprimirGCApplicaciónTiempoDeParadaTiempo | El momento en que el programa se pausa durante la recogida de la basura impresa. Se puede mezclar con lo anterior | Formato de salida: Tiempo total en el que se detuvieron los hilos de la aplicación: 0,0468229 segundos |
| -XX:+ImprimirGCApliqueTiempoConcurrenteT | Imprime el tiempo de ejecución ininterrumpido del programa antes de cada recogida de basura | Se puede mezclar con lo anterior, forma de salida: Tiempo de aplicación: 0,5291524 segundos |
| -XX:+PrintHeapAtGC | Imprime información detallada sobre la pila antes y después de la GC | / |
| -Xloggc:nombre de archivo | Registra la información relevante en un archivo para su análisis | Funciona con los anteriores |
| -XX:+HistogramaClaseImpresa | Después de pulsar Ctrl+Break en la consola, imprime la información de la clase | / |
| -XX:+HistogramaClaseImprimirAntesDeFullGC | FullGC antes de imprimir | / |
| -XX:+PrintTLAB | Consulta el uso del espacio TLAB | / |
| XX:+PrintTenuringDistribution | Consulta el umbral para el nuevo periodo de supervivencia tras cada GC menor | / |
| -EA | Activar asertar aserar | / |
| -Xprof | Diagnósticos de rendimiento | / |
| -Xrunhprof | Diagnósticos de rendimiento | / |
| -XX:+TraceClassLoading | Imprime información sobre el proceso de carga de clases | Similar a [Cargado java.util.AbstractList$Itr desde /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Información del proceso de desinstalación de la clase Print | / |
| Xbootclasspath | Especifica la carga de clases que no requieren comprobaciones | Saltarse las comprobaciones previas necesarias puede reducir el tiempo de carga, pero no es seguro |
| -XX:+CompilaciónImpresa | Imprime el nombre del método que Hotspot compila usando JIT | / |
| -XX:+AcercoASobreErrorDeSOMemoriaT | OM al generar un volcado de montón | La salida predeterminada está en la carpeta raíz donde se almacenan los archivos de clase |
| -XX:Camino de Dump | Establecer la ruta de volcado de salida del OM | Usar con -XX:+HeapDumpOnOutOfMemoryError |
| Nombre del parámetro | descripción | Predeterminado |
| -d32 | Utiliza un modelo de datos de 32 bits (si está disponible) | / |
| -d64 | Utiliza un modelo de datos de 64 bits (si está disponible) | / |
| -servidor | Selecciona la máquina virtual del servidor | La VM predeterminada es servidor porque estás ejecutando en una máquina similar a un servidor. |
| -cp < directorio y ruta de búsqueda de clase zip/jar > | / | / |
| -classpath < la ruta de búsqueda de clases para directorios y archivos zip/jar > | Utiliza: una lista de directorios separados, archivos JAR y archivos ZIP para buscar archivos de clase | / |
| -D<名称>=<值> | Propiedades del sistema de conjuntos | / |
| -verboso: [clase o GC o JNI] | Habilitar la salida detallada | / |
| -Versión | Salida de la versión del producto y salida | / |
| -<值>versión: | / | Obsoleto |
| -versión de espectáculo | Saca la versión del producto y continúa | / |
| -jre-restrict-search o -no-jre-restrict-search | / | Obsoleto |
| -? -Ayuda | Emite este mensaje de ayuda | / |
| -X | Ayuda con la salida con opciones no estándar | / |
| -ea[:< nombre del paquete, nombre de la clase>] | Afirmar | / |
| -enableassertion[:< nombre del paquete, nombre de la clase>] | Habilitar aserciones a la granularidad especificada | / |
| -da[:< nombre del paquete, nombre de la clase>] | / | / |
| -disableassertion[:< nombre del paquete, nombre de la clase>] | Desactivar las aserciones con una granularidad especificada | / |
| -ESA o -enablesystemassertions | Habilitar aserciones del sistema | / |
| -DSA o -disablesystemassertions | Desactivar las aserciones del sistema | / |
| -agentlib:<libname>[=<选项>] | Carga la biblioteca <libname>de agentes nativos | Por ejemplo, -agentlib:hprofVéase también -agentlib:jdwp=help y -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Carga la biblioteca del agente local junto al nombre completo de la ruta | / |
| -javaagent:<jarpath>[=<选项>] | Para cargar el agente del lenguaje de programación Java, consulte java.lang.instrument | / |
| -salpicadura:<imagepath> | Muestra la pantalla de inicio con la imagen especificada | / |