jvm參數設置

  1. 堆設置
    • -Xms:初始堆大小
    • -Xmx:最大堆大小
    • -XX:NewSize=n:設置年輕代大小
    • -XX:NewRatio=n:設置年輕代和年老代的比值。如:爲3,表示年輕代與年老代比值爲1:3,年輕代佔整個年輕代年老代和的1/4
    • -XX:SurvivorRatio=n:年輕代中Eden區與兩個Survivor區的比值。注意Survivor區有兩個。如:3,表示Eden:Survivor=3:2,一個Survivor區佔整個年輕代的1/5
    • -XX:MaxPermSize=n:設置持久代大小
  2. 收集器設置
    • -XX:+UseSerialGC:設置串行收集器
    • -XX:+UseParallelGC:設置並行收集器
    • -XX:+UseParalledlOldGC:設置並行年老代收集器
    • -XX:+UseConcMarkSweepGC:設置併發收集器
  3. 垃圾回收統計信息
    • -XX:+PrintGC
    • -XX:+PrintGCDetails
    • -XX:+PrintGCTimeStamps
    • -Xloggc:filename
  4. 並行收集器設置
    • -XX:ParallelGCThreads=n:設置並行收集器收集時使用的CPU數。並行收集線程數。
    • -XX:MaxGCPauseMillis=n:設置並行收集最大暫停時間
    • -XX:GCTimeRatio=n:設置垃圾回收時間佔程序運行時間的百分比。公式爲1/(1+n)
  5. 併發收集器設置
    • -XX:+CMSIncrementalMode:設置爲增量模式。適用於單CPU狀況。
    • -XX:ParallelGCThreads=n:設置併發收集器年輕代收集方式爲並行收集時,使用的CPU數。並行收集線程數。
 
 
簡單的gc設置策略:

1)吞吐量優先併發

JVM以吞吐量爲指標,自行選擇相應的GC策略及控制新生代與舊生代的大小比例,來達到吞吐量指標。這個值可由-XX:GCTimeRatio=n來設置線程

2)暫停時間優先rem

JVM以暫停時間爲指標,自行選擇相應的GC策略及控制新生代與舊生代的大小比例,儘可能保證每次GC形成的應用中止時間都在指定的數值範圍內完成。這個值可由-XX:MaxGCPauseRatio=n來設置io

相關文章
相關標籤/搜索