JVM优化
配置JAVA堆大小
-Xms<size>: 设置初始堆大小
-Xmx<size>: 设置最大的对大小
针对的堆的细节配置:
---空闲堆百分比设置
-XX:MinHeapFreeRatio=<number>
-XX:MaxHeapFreeRatio=<number>
---针对堆中各个代的设置
-XX:NewRatio=3 young generation vs tenured generation (3:1)
-XX:NewSize
-XX:MaxNewSize
generational collection:
young generation填满触发Minior Collection:花费时间短
tenured generation被填满触发Major Collection,花费时间长
serial GC适合处理小的数据集合;Parallel或throughput GC适合处理大的数据集合
性能维度:
throughput
pauses
维护测量:
选项: -verbose:gc
数据分析
[GC 325407K->83000K(776768K), 0.230071 secs]
[GC 325816K->83372K(776768K), 0.230071 secs]
[Full GC 267628K->83769K(776768K), 1.230071 secs]
箭头前后的数值标识垃圾搜集前后live状态的对象大小;圆括号中的数值表示提交的堆大小;最后的数值表示此次垃圾回收使用的时间
选项:
-XX:PrintGCDetails 打印GC详情信息
-XX:PrintGCTimestamps 打印时间戳