VM 参数
项目 |
参数 |
堆初始大小 |
-Xms |
堆最大大小 |
-Xmx 或 -XX:MaxHeapSize=size |
新生代大小 |
Xmn 或 (-XX:NewSize=size + -XX:MaxNewSize=size ) |
幸存区比例(动态) |
-XX:InitialSurvivorRatio=ratio 和 -XX:+UseAdaptiveSizePolicy |
幸存区比例 |
-XX:SurvivorRatio=ratio |
晋升阈值 |
-XX:MaxTenuringThreshold=threshold |
晋升详情 |
-XX:+PrintTenuringDistribution |
GC详情 |
-XX:+PrintGCDetails -verbose:gc |
FullGC 前 MinorGC |
-XX:+ScavengeBeforeFullGC |
串行
GC |
算法 |
参数 |
Serial GC |
复制 |
-XX:+UseSerialGC |
Serial Old |
标记整理 |
-XX:+UseSerialGC |
吞吐量优先
GC |
参数 |
ParallelGC |
-XX:+UseParallelGC |
ParallelOldGC |
-XX:+UseParallelOldGC |
参数 |
说明 |
-XX:GCTimeRatio=ratio |
ratio 默认为 99 |
-XX:MaxGCPauseMillis=ms |
默认值为 200ms |
-XX:ParallelGCThreads=n |
CPU 核数比较少时,为核心数 |
1/(1 + ratio) = 1/(1+99)=0.01=1%。
由于 ratio 默认值过于苛刻,一般我们设置 ratio 为 19, 1/(1 + ratio) = 1/(1+19)=0.05=5%
响应时间优先
参数 |
说明 |
-XX:+UseConcMarkSweepGC ~ -XX:+UseParNewGC |
|
-XX:ParallelGCThreads=n |
|
-XX:ConcGCThreads=threads |
|
-XX:CMSInitiatingOccupancyFraction=percent |
老年代内存占用达到 percent 则执行垃圾回收 |
-XX:+CMSScavengeBeforeRemark |
|
|
|