JVM参数类型
标配参数
-help
-version
-showversion
-server
在JDK各个版本中很稳定,很少有大的变化
x参数
-Xint #解释执行
-Xcomp #第一次使用就编译成本地代码
-Xmixed #混合模式
xx参数
boolean类型
公式:
-XX:+ 或 - 某个属性
+:表示开启
-:表示关闭
例:
是否打印GC收集细节
-XX:+PrintGCDetails
-XX:-PrintGCDetails
是否使用串行垃圾回收器
-XX:+UserSerialGC
-XX:-UserSerialGC
kv设值类型
公式:
-XX:key=value
例:
-XX:MetaspaceSize=128m
-XX:MaxTenuringThreshold=15
-Xms == -XX:InitialHeapSize
-Xmx == -XX:MaxHeapSize
JVM查看参数默认值
-XX:+PrintFlagsInital #主要查看初始默认属性配置
-XX:+PrintFlagsFinal #主要查看改过后的属性配置
-XX:+PrintCommandLineFlags #查看手动修改或JVM自动修改后的属性
常见参数
-
-Xms 等价于 -XX:InintialHeapSize
初始堆内存,默认为物理内存的1/64
-
-Xmx 等价于 -XX:MaxHeapSize
最大分配对内存,默认物理内存的1/4
-
-Xss 等价于 -XX:ThreadStackSize
设置单个线程的大小,一般默认为512k~1024k
-
-Xmn
设置年轻代大小
-
-XX:MetaspaceSize
设置元空间大小
-
-XX:+PrintGCDetails
打印GC回收信息
-
-XX:SurvivorRatio
设置新生代中Eden和s0 / s1空间的比例,值为Eden的比例,剩下的s0 和 s1比例相同分,
-
-XX:NewRatio
设置新生代和老年代在堆结构中的占比,值就是老年代的占比,剩下的1归新生代,young:old=1:n
-
-XX:MaxTenuringThreshold
设置垃圾最大年龄,值的范围为0~15(young经过多少次GC可以进入old)