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?
Antes de sumergirse en las fuentes, puede echar un vistazo a los siguientes extractos y encontrar la opción adecuada más rápidamente:
http://jvm-options.tech.xebia.fr/
http://www.pingtimeout.fr/2012/05/jvm-options-complete-reference.html
http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html
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
!