estoy empezando mi aplicación Java con la siguiente línea de comandos:¿Cuál es el significado de las banderas -XX: NewRatio y -XX: OldSize JVM?
java -XX:+PrintCommandLineFlags -verbose:gc -XX:+PrintGCDetails \
-XX:+UseConcMarkSweepGC -jar start.jar
La JVM permite las siguientes opciones:
-XX:MaxNewSize=87244800 -XX:MaxTenuringThreshold=4 -XX:NewRatio=7
-XX:NewSize=21811200 -XX:OldPLABSize=16 -XX:OldSize=65433600
-XX:+PrintCommandLineFlags -XX:+PrintGC -XX:+PrintGCDetails
-XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
Puede alguien me explica el significado de NewRatio y OldSize? En particular, OldSize es el tamaño inicial de la generación permanente?
El documento dice "Proporción de tamaños de generación nuevos/antiguos. El valor predeterminado es 2.". Entonces, ¿significa 2 que el nuevo tamaño de gen es dos veces más grande que la generación anterior? – DeepNightTwo
@DeepNightTwo Buen punto. No estoy seguro. Tendría que ejecutarlo y verificarlo. Pensé que era al revés. –
He verificado con el complemento VisualGC para JVisualVM que un valor más alto de '-XX: NewRatio' da como resultado un tamaño de generación" anterior "mayor, por lo que la relación debe tener" anterior "en el numerador, no el denominador. (Probado con Sun HotSpot JVM versión 1.6.0_45.) –