-Xms 最小堆的大小, 也就是當你的虛擬機啓動後, 就會分配這麼大的堆內存給你
-Xmx 是最大堆的大小 併發
-XX:NewRatio=4:設置年輕代(包括Eden和兩個Survivor區)與年老代的比值(除去持久代)。線程
-XX:SurvivorRatio=4:設置年輕代中Eden區與Survivor區的大小比值。內存
-XX:MaxPermSize=16m:設置持久代大小爲16m。rem
-XX:MaxTenuringThreshold=0:設置垃圾最大年齡。虛擬機
設置垃圾回收器io
- -XX:+UseParallelGC
- -XX:ParallelGCThreads=20
- -XX:+UseParallelGC
- -XX:MaxGCPauseMillis=100
- 設置每次年輕代垃圾回收的最長時間,
- 若是沒法知足此時間,JVM會自動調全年輕代大小,以知足此值。
-XX:+UseAdaptiveSizePolicy配置
- 自動選擇年輕代區大小和相應的Survivor區比例,
- 以達到目標系統規定的最低相應時間或者收集頻率等,
- 此值建議使用並行收集器時,一直打開。
-XX:+PrintGCfile
常見配置彙總垃圾回收
- 堆設置
- -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:設置持久代大小
- 收集器設置
- -XX:+UseSerialGC:設置串行收集器
- -XX:+UseParallelGC:設置並行收集器
- -XX:+UseParalledlOldGC:設置並行年老代收集器
- -XX:+UseConcMarkSweepGC:設置併發收集器
- 垃圾回收統計信息
- -XX:+PrintGC
- -XX:+PrintGCDetails
- -XX:+PrintGCTimeStamps
- -Xloggc:filename
- 並行收集器設置
- -XX:ParallelGCThreads=n:設置並行收集器收集時使用的CPU數。並行收集線程數。
- -XX:MaxGCPauseMillis=n:設置並行收集最大暫停時間
- -XX:GCTimeRatio=n:設置垃圾回收時間佔程序運行時間的百分比。公式爲1/(1+n)
- 併發收集器設置
- -XX:+CMSIncrementalMode:設置爲增量模式。適用於單CPU狀況。
- -XX:ParallelGCThreads=n:設置併發收集器年輕代收集方式爲並行收集時,使用的CPU數。並行收集線程數。