一:打印设置的xx选项的值
-XX:+PrintCommandLineflags 可以在程序运行前打印出用户手动上设置或JVM自动设置的xx选项
-XX:+PrintFlagsInitial 表示打印出xx选项的默认值
-XX:PrintFlagsFinal 表示打印出xx选项在运行程序时生效的值
-XX:+PrintVMOptions 打印jvm的参数
二、堆,栈,方法区等内存大小设置
2.1 堆
-Xss128k 设置每个线程栈大小为128k 等价于 -XX:ThreadStackSize=128k
2.2堆内存
-Xms3550m 等价于-XX:InitialHeapSize,设置JVM初始堆内存为3550m
-Xmx3550m 等价于-XX:MaxHeapSize,设置JVM最大堆内存为3550m
-Xmn2g 设置年轻代大小为2G 官方推荐配置为整个堆大小的3/8
-XX:NewSize=1024m 设置年轻代初始值为1024M
-XX:MaxNewSize=1024m 设置年轻代最大值为1024M
-XX:SurvivorRatio=8 设置年轻代中的Eden区与Survivor去的比值,默认为8
-XX:UserAdaptiveSizePolicy 自动选择各区大小比例
-XXNewRatio=4 设置老年代与年轻代(包括1个Eden和2个Survivor区)的比值
-XX:PretenureSizeThreadshold=1024 设置让大于此阈值的对象直接分配到老年代,单位为字节,只对Serial,ParNew收集器有效
-XX:MaxTenuringThreshold = 15 默认为15 新生代每次MinorGc之后,还存活的对象年龄加一,当对象年龄大于设置的值时就进入老年代
-XX:+PrintTenuringDistribution 让jvm在每次MinorGC之后打印出当前的使用Survivor对象的年龄分布
-XX:TargetSurvivorRatio 表示MinorGc后打印出当前使用的Survivor中的年龄分布
-XX:TargetSurvivorRatio 表示MinorGC结束后Survivor区域中占用空间期望比例
2.3方法区
永久代
-XX:PermSize=256m 设置永久代初始值为256m
-XX:MaxPermSize=256m 设置永久代最大值为256
元空间
-XX:MetaspaceSize 初始空间大小
-XX:MaxMetaspaceSize 最大空间,默认没有限制
-XX:+UserCompressedOops 压缩对象指针
-XX:+UserCompressedClassPoints压缩类指针
-XX:CompressedClassSpaceSize 设置Klass MetaSpace的大小,默认为1G
直接内存
-XX:MaxDirectMemorySize 指定DirectMemory容量,若未指定,则默认与java堆内存最大值一样