我開始我用下面的命令行Java應用程序:-XX:NewRatio和-XX:OldSize JVM標誌的含義是什麼?
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是終身代的初始大小?
該文檔顯示「新舊版本大小的比率,默認值爲2」。那麼2是否意味着新的基因尺寸是舊基因的兩倍? – DeepNightTwo
@DeepNightTwo好點。我不確定。我將不得不運行它並檢查。我認爲這是另一回事。 –
我已經使用JVisualVM的VisualGC插件驗證了'-XX:NewRatio'的較高值會導致較大的「舊」代大小,因此比率在分子中必須具有「舊」,而不是分母。 (使用Sun HotSpot JVM版本1.6.0_45進行測試。) –