Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 17284|Respuesta: 1

[Fuente] Opciones de parámetros JVM

[Copiar enlace]
Publicado el 31-8-2020 22:20:25 | | |
Dividimos los parámetros de la JVM en tres partes basadas en los parámetros de la JVM que comienzan por -X o -XX:
1. Comenzando con -, la opción estándar de VM, la opción de especificación de VM;
2. Los que comienzan con -X no son estándar (estos parámetros no están garantizados para implementarse en todas las JVM), y si hay algún cambio en la nueva versión, no se emitirá ninguna notificación.
3. Los que comienzan con -XX son inestables y no se recomiendan para su uso en entornos de producción. Tampoco se notificarán cambios en estos parámetros. Opciones de parámetros de bool: -XX:+ activado, -XX:- desactivado. (por ejemplo, -XX:+PrintGCDetails) La opción de parámetros numéricos se establece en -XX:=. Los números pueden ser m/m (megabytes), k/k (kilobytes), g/g (g-bytes). Por ejemplo: 32K significa 32768 bytes. (por ejemplo, -XX:MaxPermSize=64m) La opción del parámetro String se establece por -XX:=, que normalmente se usa para especificar un archivo, ruta o lista de comandos. (por ejemplo, -XX:HeapDumpPath=./java_pid.hprof) comando java -help puede listar las opciones estándar para el inicio de aplicaciones en java (véase la Tabla de Parámetros Estándar de VM del Apéndice, las diferentes implementaciones de JVM son diferentes). java -X puede listar parámetros no estándar (que es una extensión de la JVM). -Las opciones relacionadas con X no son estándar y no se notificarán si se modifican. Si quieres ver los parámetros de la JVM que utiliza actualmente tu aplicación, puedes usar: ManagementFactory.getRuntimeMXBean().getInputArguments().

Nombre del parámetrosignificadoValores predeterminados/Notas
-XmsTamaño inicial del montón1/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
-XmxTamaño máximo del montón1/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
-XmnTamañ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
-XssEl tamaño de la pila de cada hiloDespué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ñoHiloStackSizeIbid0 significa que se usa el valor predeterminado y no puede unirse
-XX:Tamaño permanenteFija el valor inicial del álgebra permanente1/64 de la memoria física
-XX:Tamaño Máximo PermFija el máximo de generación permanente1/4 de la memoria física
-XX:NewRatioProporció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 SupervivientesLa proporción de tamaño del área del Edén respecto al área de los SupervivientesSi 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áginaEnBytesEl 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ápidoOptimización rápida del tipo original
-XX:+DesactivarExplicitGCCerrar System.gc()Este parámetro requiere pruebas rigurosas
-XX:Umbral máximo de permanenciaEdad máxima de la basuraSi 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 AgresivasRecopilación de aceleración
-XX:+UsarBloqueoParcialMejoras de rendimiento para los mecanismos de bloqueo
-XnoclassgcDesactivar el reciclaje de basura
-XX:SoftRefLRUPolicyMSPerMBEl tiempo de supervivencia de SoftReference por megapila de espacio libre1s
-XX:PretenenciaTamañoUmbralEl tamaño del objeto se distribuye directamente en la vejezOtro 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:TLABWasteTargetPercentageTPorcentaje de TLAB en la zona de Eden1%
-XX:+CollectGen0FirstSi el YGC es lo primero cuando FullGCfalse
-XX:+UsarParaleloGCEl GC completo utiliza MSC en paraleloVer [Parámetros GC][1]
-XX:+UseParNewGCPoner a la nueva generación a coleccionar en paraleloPuede 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:ParallelGCThreadsEl número de hilos para el colector paraleloEste valor se configura mejor igual al número de procesadores, y también es adecuado para CMS
-XX:+UsarParaleloViejoGCEl método antiguo de recogida de basura es el Compactado ParaleloEsta es la opción de parámetros que aparece en JAVA 6
-XX:MaxGCPauseMillisTiempo 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:+UseAdaptiveSizePolicySeleccionar automáticamente el tamaño de la nueva zona de generación y la correspondiente proporción del área supervivienteCuando 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:GCTimeRatioEstablece el tiempo de recogida de basura como un porcentaje del tiempo de ejecución del programaLa fórmula es 1/(1+n)
-XX:+SaqueAntesDeFullGCTengo el GC completo antes de llamar a YGCtrue
-XX:+UsarConcMarcaBarridoGCUso de la colección de memoria CMSTras 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 AgresivoEl intento es usar mucha memoria físicaSe 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:+CMSParallelRemarkHabilitadoPausas en el marcador inferior
-XX+UseCMSCompactAtFullCollectionCompresión de la vejez cuando era FullGCCMS 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:+UseCMSInitiatingOccupancyOnlyIniciar la recopilación CMS con inicialización manual de definiciónHostSpot tiene prohibido activar CMS GC por sí sola
-XX:CMSInitiatingOccupancyFraction=70La recogida de CMS comienza después de que el 70% de la basura se utilice como reciclaje de basuraEste valor debe establecerse para cumplir con la siguiente fórmula, CMSInitiatingOccupancyFraction
-XX:CMSInitiatingPermOccupancyFractionConfigura el uso de Perm Gen para que se active cuando se alcance la proporción92
-XX:+CMSIncrementalModeConfigurado en modo incrementalUso en casos de CPU única
-XX:+CMSClassUnloadingEnabledGC permanente de CMS
-XX:+PrintGCSalida logarítmica de GCIgual que -verbose:gc
-XX:+PrintGCDetailsIbidMás detalles
-XX:+PrintGCTimeStampsMarca temporal de la GC de salidaÚsalo con el parámetro PrintGC anterior, o escribe algo como -XX:+PrintGC:PrintGCTimeStamps
-XX:+PrintGC:PrintGCTimeStampsPuede mezclarse con -XX:+PrintGC -XX:+PrintGCDetails
-XX:+ImprimirGCApplicaciónTiempoDeParadaTiempoEl momento en que el programa se pausa durante la recogida de la basura impresa. Se puede mezclar con lo anteriorFormato de salida: Tiempo total en el que se detuvieron los hilos de la aplicación: 0,0468229 segundos
-XX:+ImprimirGCApliqueTiempoConcurrenteTImprime el tiempo de ejecución ininterrumpido del programa antes de cada recogida de basuraSe puede mezclar con lo anterior, forma de salida: Tiempo de aplicación: 0,5291524 segundos
-XX:+PrintHeapAtGCImprime información detallada sobre la pila antes y después de la GC
-Xloggc:nombre de archivoRegistra la información relevante en un archivo para su análisisFunciona con los anteriores
-XX:+HistogramaClaseImpresaDespués de pulsar Ctrl+Break en la consola, imprime la información de la clase
-XX:+HistogramaClaseImprimirAntesDeFullGCFullGC antes de imprimir
-XX:+PrintTLABConsulta el uso del espacio TLAB
XX:+PrintTenuringDistributionConsulta el umbral para el nuevo periodo de supervivencia tras cada GC menor
-EAActivar asertar aserar
-XprofDiagnósticos de rendimiento
-XrunhprofDiagnósticos de rendimiento
-XX:+TraceClassLoadingImprime información sobre el proceso de carga de clasesSimilar a [Cargado java.util.AbstractList$Itr desde /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingInformación del proceso de desinstalación de la clase Print
XbootclasspathEspecifica la carga de clases que no requieren comprobacionesSaltarse las comprobaciones previas necesarias puede reducir el tiempo de carga, pero no es seguro
-XX:+CompilaciónImpresaImprime el nombre del método que Hotspot compila usando JIT
-XX:+AcercoASobreErrorDeSOMemoriaTOM al generar un volcado de montónLa salida predeterminada está en la carpeta raíz donde se almacenan los archivos de clase
-XX:Camino de DumpEstablecer la ruta de volcado de salida del OMUsar con -XX:+HeapDumpOnOutOfMemoryError

Apéndice

[Hoja de parámetros estándar de VM]

Nombre del parámetrodescripciónPredeterminado
-d32Utiliza un modelo de datos de 32 bits (si está disponible)
-d64Utiliza un modelo de datos de 64 bits (si está disponible)
-servidorSelecciona la máquina virtual del servidorLa 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ónSalida de la versión del producto y salida
-<值>versión:Obsoleto
-versión de espectáculoSaca la versión del producto y continúa
-jre-restrict-search o -no-jre-restrict-searchObsoleto
-? -AyudaEmite este mensaje de ayuda
-XAyuda 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 -enablesystemassertionsHabilitar aserciones del sistema
-DSA o -disablesystemassertionsDesactivar las aserciones del sistema
-agentlib:<libname>[=<选项>]Carga la biblioteca <libname>de agentes nativosPor 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






Anterior:Nuget Series 1 utiliza asp.net para construir un repositorio privado de Nuget
Próximo:Mysql CURRENT_TIMESTAMP y ON UPDATE CURRENT_TIMESTAMP diferenciados
 Propietario| Publicado el 13-01-2022 09:50:32 |


Nota: -Xms256m -¡Xmx1536m no puede colocarse después del parámetro jar!
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com