JVM参数
主要分为6类
6大类参数参数 | 描述 |
---|---|
-Xmx5m |
堆内存最大5m |
-Xms5m |
堆内存初始化为5m |
-Xmn10m |
设置年轻代最大为10m |
-Xss256k |
线程堆栈大小256k,等同于-XX:ThreadStackSize=256k ,这个参数会影响到虚拟机栈 的,即方法栈的深度.设置太小可能会导致程序运行时StackOverFlowError
|
-XX:SurvivorRatio=8 |
表示eden与survivor区的比例是8:1:1.因为survivor分为两个,且等份. |
-XX:PretenureSizeThreshold=4194304 |
设置对象超过此大小后直接在老年代创建的阈值.4194304=4m,即对象超过4m,会直接在老年代中创建.这个参数有一个前提,由于JDK9之前的Server模式下,默认使用的GC收集器是ParallelGC ,会导致这个设置失效,需要配合参数-XX:UseConcMarkSweepGC 或者-XX:UseSerialGC 使用.
|
-XX:MaxTenuringThreshold=5 |
设置晋升到老年代的对象存活年龄,即在survivor复制移动了5次之后,就会晋升到老年代.ParallelGC默认是15,CMS默认是6.最大值为15 |
-XX:+UseSerialGC |
使用串行GC收集器,基本不用 |
-XX:UseParallelGC |
使用并行收集器,其中年带带使用Parallel Scavenge 收集器,老年代使用Parallel Old
|
-XX:UseConcMarkSweepGC |
使用并发标记清理收集器,其中年轻代使用ParNew Collector ,老年代使用CMS(Concurrent Mark Sweep) Collector ,如果CMS 出错或失败,则会使用Serial Old .在JDK9中被废弃
|
网友评论