Parámetro Nombre | Significado | Por defecto / Observaciones |
-Xms | Tamaño inicial del heap | 1/64 de la memoria física (<1GB) Por defecto (se puede ajustar el parámetro MinHeapFreeRatio) Si la memoria heap libre es inferior al 40%, JVM incrementará el heap hasta -Xmx límite máximo |
-Xmx | Tamaño máximo del heap | 1/4 de la memoria física (<1GB) Por defecto (se puede ajustar el parámetro MaxHeapFreeRatio) Si la memoria heap libre es superior al 70%, JVM reducirá el heap hasta el límite mínimo de -Xms |
-Xmn | Tamaño de la nueva generación (jdk 1.4 o superior) | El aumento de la nueva generación disminuirá el tamaño de la antigua. Este valor tiene un gran impacto en el rendimiento del sistema, y la recomendación oficial de Sun es 3/8 de todo el heap. |
-Xss | Tamaño de pila por hilo | Después de JDK5.0, el tamaño de pila de cada thread es 1M, antes el tamaño de pila de cada thread es 256K, puede tomar unidades K, M o G. |
-XX:TamañoPilaHilo | Igual que arriba | 0 significa utilizar el valor por defecto, sin unidad |
-XX:TamañoPerm | Establece el valor inicial del permalink | 1/64 de la memoria física |
-XX:MaxTamañoPerma | Establece el tamaño máximo del permalink | 1/4 de la memoria física |
-XX:NuevoRatio | Relación entre las nuevas generaciones (incluyendo Edén y las dos zonas Supervivientes) y las viejas generaciones (excluyendo las generaciones permanentes). | -XX:NewRatio=4 significa que la relación entre la nueva generación y la antigua es de 1:4, y la nueva generación representa 1/5 de toda la pila, no es necesario establecer este parámetro si Xms=Xmx y Xmn está establecido. |
-XX:Relación de supervivencia | Relación entre el tamaño del área Eden y el área Survivor. | Si se establece en 8, la proporción de dos regiones Supervivientes por una región Edén es de 2:8, una región Superviviente representa 1/10 de toda la nueva generación. |
-XX:TamañoDePáginaGrandeEnBytes | El tamaño de la página de memoria no puede ser demasiado grande, afectará al tamaño del Perm | =128m |
-XX:+UseFastAccessorMethods | Optimización rápida de los tipos primitivos | / |
-XX:+DesactivarGC explícita | Desactivar System.gc(). | Este parámetro debe probarse rigurosamente |
-XX:MaxTenuringThreshold | Antigüedad máxima de la basura | Si se establece en 0, los objetos de nueva generación no pasan por la zona Survivor y van directamente a la generación antigua. Para aplicaciones con más antigüedad, esto puede mejorar la eficiencia. Si este valor se establece en un valor mayor, el objeto de nueva generación se copiará varias veces en el área Superviviente, lo que puede aumentar el tiempo de supervivencia del objeto en la nueva generación, y aumentar la probabilidad de ser reclamado en la nueva generación, este parámetro sólo es válido para GC en serie. |
-XX:+OpcionesAgresivas | Acelerar la compilación | / |
-XX:+UsarBiasedLocking | Mejora del rendimiento del mecanismo de bloqueo | / -Xnoclassgc |
-Xnoclassgc | Desactivar la recogida de basura | / -Xnoclassgc |
-XX:SoftRefLRUPolicyMSPerMB | Tiempo de supervivencia de SoftReference por megabyte de espacio libre en heap / -XX:SoftRefLRUPolicyMSPerMB | 1s |
-XX:PretenureSizeThreshold | Los objetos que superan el tamaño se asignan directamente en la generación anterior | No válido cuando se utiliza Parallel Scavenge GC en la nueva generación. Otro caso de asignación directa en la generación antigua son las matrices grandes de objetos sin referencias externas en la matriz. |
-XX:TLABWasteTargetPercent | Porcentaje del área de eden ocupada por TLAB. | 1% del área de eden |
-XX:+RecogerGen0Primero | Si YGC primero o no en FullGC. | false |
-XX:+UsarGCParalelo | Usar MSC paralelo para Full GC | Véase [Parámetros GC ][1]. |
-XX:+UsarParNuevaGC | Establecer la nueva generación a la colección paralela | Puede ser usado en conjunción con CMS collection, JDK 5.0 o superior, JVM se establecerá a sí mismo de acuerdo a la configuración del sistema, por lo que no es necesario establecer este valor de nuevo |
-XX:ParallelGCThreads | Número de hilos en el colector paralelo | Este valor es mejor configurarlo para que sea igual al número de procesadores, lo que también se aplica al CMS. |
-XX:+UsarParaleloOldGC | Compactación paralela para métodos de recogida de basura más antiguos. | Esta es una opción de parámetro que apareció en JAVA 6 |
-XX:MaxGCPauseMillis | Tiempo máximo para cada recogida de basura de nueva generación (tiempo máximo de pausa). | Si no se puede cumplir este tiempo, la JVM redimensionará automáticamente la nueva generación para cumplir este valor. |
-XX:+UsarPolíticaAdaptativaDeTamaño | Selecciona automáticamente el tamaño de la zona de nueva generación y la proporción correspondiente de zonas Supervivientes. | Cuando esta opción está activada, el recopilador paralelo seleccionará automáticamente el tamaño de la nueva generación y la relación de Supervivientes correspondiente para cumplir con el tiempo mínimo correspondiente o la frecuencia de recopilación especificada por el sistema de destino, etc. Se recomienda mantener este valor activado cuando se utiliza el recopilador paralelo. |
-XX:GCTimeRatio | Establece el tiempo de recogida de basura como porcentaje del tiempo de ejecución del programa. | La fórmula es 1/(1+n) |
-XX:+ScavengeBeforeFullGC | Llama a YGC antes de Full GC | true |
-XX:+UsarConcMarkSweepGC | Usar la recolección de memoria CMS | Después de configurar esto en la prueba, la configuración -XX:NewRatio=4 falla por razones desconocidas, por lo que es mejor establecer el tamaño de la nueva generación con -Xmn en este momento |
-XX:+AggressiveHeap | Intenta utilizar grandes cantidades de memoria física | Optimización para el uso de grandes cantidades de memoria durante mucho tiempo, puede comprobar los recursos de computación (memoria, número de procesadores, necesita al menos 256MB de memoria) |
-XX:CMSFullGCsAntesDeCompactación | Cuántas veces antes de la compactación de memoria | Dado que el colector concurrente no comprime ni organiza el espacio de memoria, creará "fragmentación" después de un tiempo, lo que lo hace menos eficiente. |
-XX:+CMSParallelRemarkEnabled | Reduce las paradas del marcador | / |
-XX+UseCMSCompactAtFullCollection | Compactar antiguamente en FullGC. | CMS no mueve la memoria, por lo que esto es muy propenso a la fragmentación, que puede conducir a la falta de memoria, por lo que la compresión de memoria está habilitada en este momento. Añadir este parámetro es un buen hábito. Puede afectar al rendimiento, pero eliminará la fragmentación |
-XX:+UseCMSInitiatingOccupancyOnly | Utilizar definiciones de inicialización definidas manualmente para iniciar la recopilación de CMS | Deshabilitar hostspot para que no inicie CMS GC por sí mismo |
-XX:CMSInitiatingOccupancyFraction=70 | Usar cms como recolección de basura para iniciar la recolección de CMS después de 70% de uso | Este valor debe ajustarse a la siguiente fórmula de cálculo de CMSInitiatingOccupancyFraction |
-XX:CMSInitiatingPermOccupancyFraction | Establece el porcentaje de uso de Perm Gen que activa la recogida. | 92 |
-XX:+CMSIncrementalMode | Establece el modo incremental | para casos de CPU única |
-XX:+CMSClassUnloadingEnabled | GC en modo CMS permanente -XX:+CMSClassUnloadingEnabled | / -XX:+CMSClassUnloadingEnabled |
-XX:+PrintGC | Salida del registro de GC | Igual que -verbose:gc. |
-XX:+PrintGCDetails | Igual que el anterior | Más detalles |
-XX:+ImprimirEstampasDeHoraGCT | Imprimir marcas de tiempo de GC | Utilícelo con el parámetro PrintGC anterior, o escriba -XX:+PrintGC:PrintGCTimeStamps como sigue |
-XX:+PrintGC:PrintGCTimeStamps | / | Puede mezclarse con -XX:+PrintGC -XX:+PrintGCDetails |
-XX:+PrintGCApplicationStoppedTime (Imprimir hora de suspensión de la aplicación) | Imprime la hora a la que se suspendió la aplicación durante la recogida de basura. Puede mezclarse con los anteriores | Forma de salida:Tiempo total durante el cual se detuvieron los hilos de la aplicación: 0,0468229 segundos |
-XX:+PrintGCApplicationConcurrentTime | Imprime el tiempo de ejecución ininterrumpido de la aplicación antes de cada recogida de basura. | Puede utilizarse en combinación con lo anterior para obtener el siguiente resultado: Tiempo de aplicación: 0,5291524 segundos |
-XX:+ImprimirPilaAtGC | Imprime información detallada de la pila antes y después de GC | / |
-Xloggc:nombrearchivo | Registrar la información de registro relevante en un archivo para su análisis | Se utiliza junto con lo anterior |
-XX:+ImprimirHistogramaClase | Imprime el histograma de clases tras pulsar Ctrl+Break en la consola. | / |
-XX:+ImprimirHistogramaClaseAntesGC Completo | Imprime la información de la clase antes de FullGC | / -XX:+ImprimirHistogramaClaseAntesCGCCompleta |
-XX:+ImprimirTLAB | Comprueba el uso del espacio TLAB | / -XX:+PrintTLAB |
XX:+PrintTenuringDistribution | Comprueba el umbral para un nuevo ciclo vivo después de cada GC menor. | / -ea |
-ea. | Activar afirmación | / -ea |
-Xprof | Diagnóstico de rendimiento | / -Xrunhprof |
-Xrunhprof | Diagnóstico de rendimiento | / -XX:+TraceClassLoading |
-XX:+RastreoCargaClase | Imprimir 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:+RastreoDescargaClases | Imprime la información del proceso de descarga de clases | / |
Xbootclasspath | Especifica las clases a cargar que no requieren sumas de comprobación | Omitir las comprobaciones necesarias de las clases antes de cargarlas reduce el tiempo de carga, pero no es seguro. |
-XX:+ImprimirCompilación | Imprime los nombres de los métodos compilados por Hotspot utilizando JIT. | / |
-XX:+Volcado de la pila en caso de error por falta de memoria | Genera un volcado de heap en OM | La salida por defecto es en la carpeta raíz donde se almacenan los archivos de clase |
-XX:RutaDeVolcadoDeCúmulo | Establece la ruta del archivo de volcado OM de salida | Se utiliza con -XX:+HeapDumpOnOutOfMemoryError. |
Nombre del parámetro | Nombre del parámetro | Valor por defecto |
-d32 | Utilizar modelo de datos de 32 bits (si está disponible) | / |
-d64 | Utilizar modelo de datos de 64 bits (si está disponible) | / -servidor |
-servidor | Seleccionar la VM "servidor | La VM por defecto es servidor, ya que se está ejecutando en un equipo de clase servidor. |
-cp <ruta de búsqueda de la clase para directorios y archivos zip/jar | / -cp | / |
-classpath <ruta de búsqueda de directorios y archivos zip/jar> / / | Una lista separada por :de directorios, archivos JAR y archivos ZIP para buscar archivos de clase. | / / -classpath |
-D<nombre>=<valor | Establecer las propiedades del sistema | / -D<nombre>=<valor> Establece las propiedades del sistema |
-verbose:[class o gc o jni]. | Habilitar la salida detallada | / -verbose:[class or gc or jni] Habilitar salida detallada. |
-versión | Salida de la versión del producto y salida | / -versión |
-versión:<valor> | / -versión:<valor>. | Obsoleto |
-showversion | Deprecated -showversion y continuar | / |
-jre-restrict-search o -no-jre-restrict-search | Obsoleto | Obsoleto |
-Deprecated -help | Muestra este mensaje de ayuda | / |
-X | Da salida a la ayuda para opciones no estándar | / -X |
-ea[:<nombre de paquete, nombre de clase>]. | Aserción | / -X |
-enableassertions[:<nombre de paquete, nombre de clase>] | Habilitar aserciones en la granularidad especificada. | / -enableassertions[:<nombre de paquete, nombre de clase>] |
-da[:<nombre de paquete, nombre de clase>] | / -da[:<nombre de paquete, nombre de clase>]. | / -da[:<nombre de paquete, nombre de clase>] / |
-disableassertions[:<nombre de paquete, nombre de clase>]. | Deshabilita las aserciones con la granularidad especificada. | / -esa o -enables |
-esa o -enablesystemassertions | Habilitar las aserciones del sistema | / -esa o -enablesystemassertions |
-dsa o -disablesystemassertions | Desactivar las aserciones del sistema | / -agentlib:<libname>: <libname>. |
-agentlib:<nombredelagente>[=<opciones>] | Carga la biblioteca local del agente <libname>. | Por ejemplo, -agentlib:hprof Véase también -agentlib:jdwp=help y -agentlib:hprof=help. |
-agentpath:<nombre de ruta>[=<opciones>] | Carga la biblioteca local del agente por la ruta completa | / |
-javaagent:<ruta>[=<opciones>] | Carga el agente del lenguaje de programación Java, véase java.lang.instrument | / -splash:<imagen |
-splash:<rutadeimagen> | Mostrar la pantalla de inicio con la imagen especificada | / -splash:<ruta_imagen> |