-Xms: 初始大小内存 ,默认为物理内存1/64 等价于 -XX:InitialHeapSize
-Xmx:最大分配内存,默认为物理内存的1/4 等价于 -XX:MaxHeapSize
-Xss:设置单个线程栈的大小,一般默认为512kb-1024kb 等价于 -XX:ThreadStackSize
-Xmn:设置年轻代大小
-XX:MetaspaceSize : 设置元空间大小
-XX:+PrintGCDetails :输出GC详情信息日志(-Xms10m -Xmx10m -XX:+PrintGCDetails)
-XX:SurvivorRatio :设置新生代中的eden和s0/s1空间的比例,默认(-XX:SurvivorRatio=8,Eden:S0:S1 = 8:1:1 )
假如(-XX:SurvivorRatio=4,Eden:S0:S1 = 4:1:1)SurvivorRatio的值就是eden的占比多少 s0/s1相同
(-Xms10m -Xmx10m -XX:+PrintGCDetails -XX:+UseSerialGC -XX:SurvivorRatio=4)
-XX:NewRatio :配置年轻代与老年代在堆结构的占比,默认(-XX:NewRatio=2 新生代占1,老年代占2,年轻代占整个堆的1/3)
假如((-XX:NewRatio=4 新生代占1,老年代占4,年轻代占整个堆的1/5)NewRatio值就是设置老年代的占比,剩下的1给新生代
-XX:MaxTenuringThreshold :设置垃圾最大年龄 默认15次 只能在0-15次内设置
********************************************************
-Xms128m -Xmx4096m -Xss1024k -XX:MetaspaceSize=512M -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:UseSerialGC
添加后
-XX:InitialHeapSize=134217728
-XX:MaxHeapSize=4294967296
-XX:MetaspaceSize=536870912
-XX:+PrintCommandLineFlags
-XX:+PrintGCDetails
-XX:ThreadStackSize=1024
-XX:+UseCompressedClassPointers
-XX:+UseCompressedOops
-XX:-UseLargePagesIndividualAllocation
-XX:+UseSerialGC 串行垃圾回收器
*****************************
java -XX:+PrintCommandLineFlags -version 查看JVM默认参数
查看进程:jps -l
查看进程的初始值:jinfo -flag PrintGCDetails 109052
jinfo -flags 109052
查看:jstack 109052
公式:-XX:属性key=属性值value
-XX:MetaspaceSize=128m
* java -XX:+PrintFlagsInitial 查看初始化的值
* java -XX:+PrintFlagsFinal -version 查看修改 ":="表示修改过