para machine descargar java optimization printing jvm flags

java - machine - Imprimir todas las banderas de JVM



java se (2)

Encontré una bandera JVM interesante:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version

Imprime cientos de varias opciones, nunca antes había escuchado. También imprime valores predeterminados, que ayudan a diagnosticar mejor los comportamientos de JVM. Otra bandera interesante es:

-XX:+UnlockExperimentalVMOptions

¿Alguien sabe de alguna documentación que explique cada uno de ellos?



La mejor documentación que he encontrado es la fuente .

He usado este SO Q & A para crear una compilación de depuración. Con esta compilación de depuración, puede ejecutar java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version .

Desde el directorio con las fuentes, puede ejecutar (suponiendo que esté usando Linux, Cygwin o similares):

grep -FR ''UnlockExperimentalVMOptions'' hotspot/

O lo siguiente (que solo mira los *.cpp y *.hpp ):

find hotspot/ -name ''*.[ch]pp'' -exec grep -F ''UnlockExperimentalVMOptions'' {} +

Luego mira los archivos fuente. Probablemente la mejor razón por la que no hay un documento que describa todas las opciones es que algunas de estas opciones se dejan mejor a quienes realmente entienden la JVM y la mejor manera de hacerlo es familiarizarse íntimamente con el código fuente.

Entonces, en las palabras (casi) de un gran master , ¡ use the source !