JVM參數之SurvivorRatio和NewRatio


1、SurvivorRatio:

      1.1、新生代2個Survivor區和Eden區的比值,默認值為8;即Eden區:From區:To區 = 8: 1:1

      1.2、調小SurvivorRatio會增大from和to的空間大小,減小Eden空間; 調大SurvivorRatio會減小from和to的空間,增大Eden空間;

               

2、NewRatio:

       新生代(Eden + 2*Survivor)與老年代(不包括永久區)的比值,JDK8的默認值為2;公司的JVM用的就是默認值(在JDK8下面觀察的)

3、計算示例:

      新生代 : 老年代 = 682.5 :1365.5 = 1 :2,新生代 + 老年代 = 682.5 + 1365.5 = 2048;

      Eden :From :To = 512.5 :85 :85 = 6 :1 :1    (示例中是經過修改的)

      

4、注意事項:

       4.1、正常來說建議直接使用默認值。如果對代碼比較了解,知道代碼中變量的使用情況,並且對系統運行觀察一段時間后,在必須調優滿足吞吐量和性能的情況下才去調值;

       4.2、如果通過比例來設置值達不到想要的效果,可以通過設置NewSize(新生代指定大小)和MaxNewSize(新生代最大上限)來滿足你的條件,這個是把值直接固定為你想要的值;比如在促銷系統的廣告語系統就是通過此方式來設置的;(需要注意的是:newSize應該小於-Xms值,MaxNewSize-應該小於Xmx值)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM