Java VM启动参数笔记(1)
打印输出相关参数
verbose
- 打印虚拟机中GC的详细情况:显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等
-verbose:gc
- 虚拟机在出现内存溢出异常时Dump 出当前的内存堆转储快照
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/admin/logs/java.hprof
-XX:+TraceClassLoading
-XX:+PrintGCDetails
-XX:PrintGCDateStamps
-Xloggc:/home/admin/logs/gc.log
涉及堆相关的参数
- server模式下,新生代选择的是并行GC,旧生代选择的是并行GC
- client模式下,新生代选择的是串行GC,旧生代选择的是串行GC
-server
-Xms2g
-Xmx2g
- PS:避免在运行时频繁调整Heap的大小,通常-Xms与-Xmx的值设成一样
- 空余堆内存小于MinHeapFreeRation时,JVM会增大Heap到-Xmx指定的大小
-XX:MinHeapFreeRation=
- 空余堆内存大于MaxHeapFreeRation时,JVM会减小heap的大小到-Xms指定的大小
-XX:MaxHeapFreeRation=
-Xmn1g
- 默认32:1:1
- 新生代的Eden区:From区:To区的比例为8:1:1
-XX:SurvivorRatio=8
-XX:PermSize=(JDK7)
-XX:MaxPermSize=(JDK7)
-XX:MetaspaceSize=(JDK8)
-XX:MaxMetaspaceSize=(JDK8)