我使用以下命令行启动我的Java应用程序:
java -XX:+PrintCommandLineFlags -verbose:gc -XX:+PrintGCDetails \
-XX:+UseConcMarkSweepGC -jar start.jar
JVM启用以下选项:
-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
有人能解释我NewRatio和OldSize的含义吗?特别是OldSize是终身一代的初始规模?
解决方法:
NewRatio是老一代与年轻一代的比率(例如,值2表示最大尺寸的年龄将是年轻人的最大尺寸的两倍,即年轻人可以达到堆的1/3).
OldSize不是记录的选项之一,但我认为它是终身空间http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html的大小