架构师_程序员_码农网

N Recuperar contraseña
Registrarse

QQ登录

Sólo un paso para empezar

Buscar en
Vista:9492|Respuesta: 1
打印 上一主题 下一主题

[ Información]Opciones de parámetros JVM

[ Copiar enlace]
L 跳转到指定楼层
propietario
发表于 2020-8-31 22:20:25|只看该作者回帖奖励|Navegar hacia atrás |Modo de lectura
Dividimos los parámetros JVM en tres partes en función de si empiezan por -X o -XX:
1, empezando por - son las opciones estándar de la VM, opciones de especificación de la VM;
2, los que empiezan por -X no son estándar (no se garantiza que estos parámetros estén implementados en todas las JVM), y si hay algún cambio en la nueva versión no se publicará un aviso.
Los que empiezan por -XX son inestables y no se recomienda su uso en entornos de producción. Estos parámetros no se notifican cuando se cambian. Opciones de parámetros bool: -XX:+ los activa, -XX:- los desactiva. (Opciones de parámetros bool: -XX:+ las activa, -XX:- las desactiva (por ejemplo, -XX:+PrintGCDetails) Las opciones de parámetros numéricos se establecen con -XX:=. Los números pueden ser m/M (megabytes), k/K (kilobytes), g/G (gigabytes). Por ejemplo: 32K significa 32768 bytes. (p. ej. -XX:MaxPermSize=64m) La opción de parámetro String se establece con -XX:= y suele utilizarse para especificar un archivo, una ruta o una lista de comandos. (por ejemplo, -XX:HeapDumpPath=. /java_pid.hprof) El comando java -help enumera las opciones estándar cuando se inicia una aplicación java (véase en el Apéndice la lista de parámetros estándar de la VM, que varía de una implementación de JVM a otra). java -X enumera los parámetros no estándar (que son una característica ampliada de la JVM). Las opciones relacionadas con -X no son estándar y se modifican sin previo aviso. Si desea ver los parámetros de la JVM utilizados por la aplicación actual, puede utilizar: ManagementFactory.getRuntimeMXBean().getInputArguments().

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.

Apéndice

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

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>






Anterior: Serie de Nuget (a) usando asp.net construir repositorio privado de Nuget.
下一篇:Mysql CURRENT_TIMESTAMP y ON UPDATE CURRENT_TIMESTAMP diferencia
Red de código Farmer, sólo publicado en el proceso de la práctica, se encontró con dificultades técnicas, no engañar a los demás.
sofá
owner|Publicado el 2022-1-13 09:50:32|Ver sólo este autor


¡Nota: -Xms256m -Xmx1536m no se puede poner después de parámetro jar!
La red de agricultores de código, sólo se publica en el proceso de la práctica, se encontró con dificultades técnicas, no inducir a error a los demás.
Tienes que iniciar sesión antes de poder volver a publicar Iniciar sesión | Registrarse

E sta versión de las normas integrales


DESCARGO DE RESPONSABILIDAD: Todo el software, materiales de programación o artículos publicados por Code Farmer se limitan a ser utilizados únicamente para fines de aprendizaje e investigación; los contenidos anteriores no podrán ser utilizados con fines comerciales o ilegales, de lo contrario, todas las consecuencias serán asumidas por los propios usuarios. Esta información del sitio de la red, disputa de derechos de autor no tiene nada que ver con este sitio. Debe eliminar completamente el contenido anterior de su ordenador en las 24 horas siguientes a la descarga. Si le gusta el programa, por favor apoye el software genuino, compre el registro y obtenga un mejor servicio genuino. Si se produce alguna infracción, póngase en contacto con nosotros por correo electrónico para solucionarlo.

Correo To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-18 23:25

Respuesta rápidaVolver arribaVolver a la lista