常用的JVM配置参数说明
Posted 沛沛老爹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的JVM配置参数说明相关的知识,希望对你有一定的参考价值。
工作中常用的JVM参数配置,以Java8为例:
日志相关
-XX:+PrintFlagsFinal,打印JVM所有参数的值
-XX:+PrintGC,打印GC信息
-XX:+PrintGCDetails,打印GC详细信息
-XX:+PrintGCTimeStamps,打印GC 的时间戳
-Xloggc:filename,设置GClog文件的位置
-XX:+PrintTenuringDistribution,查看熬过收集后剩余对象的年龄分布信息
内存设置相关
-Xms,设置堆的初始化内存大小
-Xmx,设置堆的最大内存
-Xmn,设置新生代内存大小
-Xss,设置线程栈大小
-XX:NewRatio,新生代与老年代比值
-XX:SurvivorRatio,新生代中Eden 区与两个Survivor区的比值,默认为8, 即Eden:Survivor:Survivor=8:1:1
-XX:MaxTenuringThreshold,从年轻代到老年代,最大晋升年龄。 CMS下 默认为6,G1 下默认为15
-XX:MetaspaceSize,设置元空间的大小,第一次超过将触发GC
-XX:MaxMetaspaceSize,元空间最大值
-XX:MaxDirectMemorySize,用于设置直接内存的最大值,限制通过 DirectByteBuffer 申请的内存
-XX:ReservedCodeCacheSize,用于设置JIT编译后的代码存放区大小, 如果观察到这个值有限制,可以适当调大, 一般够用即可
垃圾收集相关
-XX:+UseSerialGC,设置串行收集器
-XX:+UseParalleIGC,设置并行收集器
-XX:+UseConcMarkSweepGC,使用CMS收集器
-XX:GC 设 置 P r GC的线程数
-XX:MaxGCPauseMillis,GC最大暂停时间ms
-XX:+UseG1GC,使用G1垃圾收集器
G1垃圾回收器相关
-XX:MaxGCPauseMillis,用于设置目标停顿时间, G1会尽力达成
-XX:G1HeapRegionsize,用于设置小堆区大小
-XX:lnitiatingHeapOccupancyPercent,表示当整个堆内存使用达到一定比例(默认是45%),并发标记阶段就会被启动
-XX:ConcGCThreads,表示并发垃圾收集器使用的线程数量,默认值随JVM运行的平台不同而变动
CMS垃圾回收器相关
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction,与前者配合使用,指定MajorGC的发生时机
-XX:+ExplicitGClnvokesConcurrent,代码调用System .gc()开始并行FullGC
-XX:+CMSScavengeBeforeRemark,表示开启或关闭在CMS重新标记阶段之前的清除(YGC)尝试,它可以降低remark时间
-XX:+ParallelRefProcEnabled,可以用来并行处理Reference, 以加快处理速度,缩短耗时
说明
以上的内容为基本上常见的,如果你想设置更多的参数,可以参考官方网站:JVM参数查询
以上是关于常用的JVM配置参数说明的主要内容,如果未能解决你的问题,请参考以下文章