我使用以下命令行启动我的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是终身代的初始大小?
答案 0 :(得分:17)
NewRatio是老一代与年轻一代的比例(例如,值2意味着最大尺寸将是年轻人的最大尺寸的两倍,即年轻人可以达到堆的1/3)。
OldSize不是记录的选项之一,但我认为它是终身空间的大小http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
答案 1 :(得分:1)
由于NewRatio已经得到了很好的解释,以下内容应该有助于OldSize。
这里,OldSize =>终身代的默认大小。这是天赋的默认尺寸,直到人体工程学发挥作用。