天天看點

JVM參數說明介紹1.JVM運作時資料區記憶體參數說明2.JVM垃圾收集器參數總結

文章目錄

  • 1.JVM運作時資料區記憶體參數說明
  • 2.JVM垃圾收集器參數總結

1.JVM運作時資料區記憶體參數說明

參數 選項
-Xms 堆的最小值
-Xmx 堆的最大值(Xms和Xmx設定一緻,可以避免堆自動擴充)
-Xmn 堆中新生代大小
-XX:SurvivorRatio 設定新生代中Eden和Survivor區域大小比例,如果設定為8,則Eden和兩個Survivor區比例為8:1:1
-Xss 棧容量
-XX:PermSize 非堆(方法區)區域初始記憶體大小
-XX:MaxPermSize 非堆(方法區)區域配置設定的最大記憶體
-XX:MaxDirectMemorySize 來指定最大直接記憶體
-XX:PretenureSizeThreshold 設定大于這個值的對象直接在年老代配置設定 (此屬性隻對Serial與ParNew收集器有效)
-XX:MaxTenuringThreshold 控制對象經過多少次GC之後移動至年老代
-XX:+PrintTenuringDistribution 列印對象年齡資訊
-XX:+HeapDumpOnOutOfMemoryError 可以在記憶體溢出時,dump出目前記憶體堆轉儲為快照檔案以供事後進行分析
-XX:+PrintGCDetails 在啟動腳本可以自動開啟-XX:+PrintGC , 如果在指令行使用jinfo開啟的話,不會自動開啟-XX:+PrintGC
-XX:-HandlePromotionFailure 關閉空間配置設定擔保
-XX:+HandlePromotionFailure 打開空間配置設定擔保

2.JVM垃圾收集器參數總結

參數 描述
UseSerialGC 虛拟機運作在Client模式下的預設值,打開此開關後,使用Serial+Serial Old的收集器組合進行記憶體回收
UseParNewGC 打開此開關後,使用ParNew+Serial Old的收集器組合進行記憶體回收
UseConcMarkSweepGC 打開此開關後,使用ParNew+CMS+Serial Old的收集器組合進行記憶體回收。Serial Old收集器将作為CMS收集器出現Concurrent Mode Failure失敗後的後備收集器使用
UseParallelGC 虛拟機運作在Server模式下的預設值,打開此開關後,使用Parallel Scavenge+Serial Old(PS MarkSweep)的收集器組合進行記憶體回收
UseParallelOldGC 打開此開關後,使用Parallel Scavenge+Parallel Old的收集器組合進行記憶體回收
SurvivorRatio 新生代中Eden區域與Survivor區域的容量比值,預設為8,代表Eden:Survivor=8:1
PretenureSizeThreshold 直接晉升到老年代的對象大小,設定這個參數後,大于這個參數的對象将直接老年代配置設定
MaxTenuringThreshold 晉升到老年代的對象年齡。每個對象在堅持過一次Minor GC之後,年齡就+1,當超過這個參數值時就進入老年代
UseAdaptiveSizePolicy 動态調整java堆中各個區域的大小及進入老年代的年齡
HandlePromotionFailure 是否允許配置設定擔保失敗,即老年代的剩餘空間不足以應付新生代的整個Eden和Survivor區的所有對象都存活的極端情況
ParallelGCThreads 設定并行GC時進行記憶體回收的線程數
GCTimeRatio GC時間占總時間的比率,預設值為99,即允許1%的GC時間。僅在使用Parallel Scavenge收集器時生效
MaxGCPauseMillis 設定GC的最大停頓時間。僅在使用Parallel Scavenge收集器時生效
CMSInitiatingOccupancyFraction 設定CMS收集器在老年代空間被使用多少後觸發垃圾收集。預設值為68%,僅在使用CMS收集器時生效
UseCMSCompactAtFullCollection 設定CMS收集器在完成垃圾收集後是否要進行一次記憶體碎片整理。僅在使用CMS收集器時生效
CMSFullGCsBeforeCompaction 設定CMS收集器在進行若幹次垃圾收集後在啟動一次記憶體碎片整理。僅在使用CMS收集器時生效

繼續閱讀