后续会随着学习进度不断更新JVM的相关设置命令
- -Xms : 设置堆的最小值 (-Xms20m;-Xmx20m 设置堆的最小、最大值为20m)
- -Xmx : 设置堆的最大值
- -XX:+HeapDumponOutOfMemoryError : 让虚拟机在出现内存溢出异常时Dump出当前内存堆转储快照
- -Xss : 设置栈容量大小
- -Xoss : 设置本地方法栈大小(注意:HotSpot虚拟机不区分本地方法栈和虚拟机栈只通过-Xss来设置)
- -oss : 设置栈容量 (针对可以支持动态扩展栈内存的虚拟机使用,如Classic虚拟机)
- -XX:PermSize : 设置永久代的大小
- -XX:MaxPermSize : 设置永久代的最大值 (JDK1.7)
- -XX:MaxmetaspaceSize : 设置元空间的最大值 (JDK1.8)
- -XX:MinmetaspaceFreeRatio : 在垃圾收集之后控制最小的元空间剩余容量的百分比
- -XX:MaxmetaspaceFreeRatio : 在垃圾收集之后控制最大的元空间剩余容量的百分比
补充说明:从JDK1.7开始,原本存放在永久代中的字符串常量池被移动到了Java堆之中。
- -XX:CMSInitiatingOccupancyFraction : CMS收集器的触发的百分比 (JDK 5 当老年代使用68%时会触发CMS ;JDK 6 CMS的默认启动阈值提升到了92%)
-XX:CMSInitiatingOccupancyFraction 的值设置的太高将会很容易导致大量的并发失败的产生,性能反而降低了,该值应该根据实际应用场景来权衡设置
- -XX:+UseCMSCompactAtFullCollection : 用于在CMS不得不进行Full GC时开启内存碎片的合并整理过程
- -XX:CMSFullGCsBeforeCompaction : 要求CMS执行过若干次不整理空间的Full GC后下一次进入Full GC前会先进行碎片整理
- -XX:+UseConcMarkSweepGC : 开启CMS收集器 (JDK 9)
- -XX:G1HeapRegionSize : 设置G1收集器每个Region的大小 (1~32MB,2的N次幂)
- -XX:MaxGCPauseMillis : 设定允许的最大收集停顿时间 (默认200毫秒)
- -XX:MaxDirectMemorySize : 设定直接内存的大小 (默认与Java堆的最大值一致)



