天天看點

JVM參數設定大全

為了友善找到我這裡專門做一篇部落格,建議有用到的小夥伴 直接将原位址網站加書簽

元空間的設定:

下面是起始大小設定為10M,最大的大小設定為20M

-XX:MetaspaceSize=10M
-XX:MaxMetaspaceSize=20M
           
列印GC詳細資訊
-XX:+PrintGCDetails
           

簡化的詳細資訊使用

-XX:+PrintGC
           

垃圾回收參數的設定

設定串行收集器。
-XX:+UseSerialGC
           

并行收集器(吞吐量優先)

設定為并行收集器。此配置僅對年輕代有效。年老代仍使用串行收集。

-XX:+UseParallelGC
           
配置并行收集器的線程數,建議配置與CPU數目相等
-XX:ParallelGCThreads=20
           
配置年老代垃圾收集方式為并行收集

JDK6.0開始支援對年老代并行收集

-XX:+UseParallelOldGC
           
設定每次年輕代垃圾回收的最長時間(機關毫秒)
-XX:MaxGCPauseMillis=100
           
自動調整年輕代Eden區大小和Survivor區大小的比例
-XX:+UseAdaptiveSizePolicy
           
設定年老代為并發收集
-XX:+UseConcMarkSweepGC
           
設定年輕代為并發收集。可與CMS收集同時使用
-XX:+UseParNewGC
           
設定第幾次fullgc進行整理記憶體碎片
打開記憶體空間的壓縮和整理,在Full GC後執行。會影響性能,但可以消除記憶體碎片。
-XX:+UseCMSCompactAtFullCollection
           

設定為增量收集模式。一般适用于單CPU情況。

-XX:+CMSIncrementalMode
           
設定cms收集垃圾的時機,

Old區使用比例

,這裡的70表示old區使用了70%則進行回收
-XX:CMSInitiatingOccupancyFraction=70
           
讓年輕代GC優于Full GC執行。
-XX:+ScavengeBeforeFullGC
           
不響應 System.gc() 代碼。
-XX:-DisableExplicitGC
           
啟用本地線程優先級API。即使 java.lang.Thread.setPriority() 生效,不啟用則無效。
-XX:+UseThreadPriorities
           
軟引用對象在最後一次被通路後能存活0毫秒(JVM預設為1000毫秒)。
-XX:SoftRefLRUPolicyMSPerMB=0
           
允許90%的Survivor區被占用(JVM預設為50%)。提高對于Survivor區的使用率。
-XX:TargetSurvivorRatio=90