GC-常用参数配置

通用参数

-Xms 堆内存初始大小
-Xmx 堆内存最大大小

-Xmn 新生代大小

-Xss 线程大小
-XX:+UserG1GC 指定使用G1垃圾回收器
-XX:SurvivorRatio eden区和一个survivor区比例 eden/survivor 注意S区有两个
-XX:MaxTenuringThreshold 新生代进入老年代的年龄(即在新生代躲过了几次GC)

-XX:-UseAdaptiveSizePolicy 关闭Survivor区大小动态变化

-XX:PretenureSizeThreshold 大对象直接晋升老年代阈值

-XX:+DisableExplicitGC 禁止显示执行GC 不允许代码触发GC 例如 System.gc()

 

 

OOM

-XX:+HeapDumpOnOutOfMemoryError 表示当JVM发生OOM时,自动生成DUMP文件。

-XX:HeapDumpPath=${目录} 表示生成DUMP文件的路径,也可以指定文件名称

 

 

GC日志

· -XX:+PrintGCDetails  打印gc日志

· -XX:+PrintGCTimeStamps 打印gc时间戳(相对于jvm启动时间)

· -XX:+PrintGCDateStamps 打印gc当前时间

· -Xloggc:gc.log 将gc日志输出到log文件

· XX:+PrintHeapAtGC 每次一次GC后,都打印堆信息

· -XX:+PrintGCApplicationStoppedTime GC停顿时间

 

CMS回收器:

-XX:+UseConcMarkSweepGC  启用CMS回收器

-XX:CMSInitiatingOccupancyFaction 指定老年代的空间使用率达到xx触发full gc 因为并发收集的时候可能会有新对象进入老年代

-XX:+UserCMSCompactAtFullCollection 使用CMS触发Full GC之后进行压缩 (避免内存碎片)

-XX:CMSFullGCBeforeCompaction 执行多少次Full GC后进行压缩 默认0

-XX:+CMSParallelInitialMarkEnabled CMS回收”初始标记“阶段开启多线程并发执行

-XX:CMSScavengeBeforeRemark 在CMS”重新标记“阶段之前 尽量执行一次Young GC

 

G1回收器

-XX:+UserG1GC 指定使用G1辣鸡回收器
-XX:G1HeapRegionSize 指定Region的大小
-XX:G1NewSizePercent 设置新生代初始占比 默认5%
-XX:MaxTenuringThreshold 新生代进入老年代的年龄(即在新生代躲过了几次GC)
-XX:InitiatingHeapOccupancyPercent 老年代占据了堆内存的Percent%时,就会尝试触发一个新生代+老生代一期回收的混合回收阶段 即Mixed GC 默认值45%
-XX:MaxGCPauseMills G1执行GC的时候最多可以让系统停顿多长时间 默认200ms
-XX:G1MixedGCCountTarget 在一次混合回收的过程中,最后一个阶段执行混合回收的次数 默认8次
-XX:G1HeapWastePercent 当空闲的Region数量达到了堆内存的Percent%,此时就会立即停止混合回收,意味着本次混合回收就结束了 默认值5%(在混合回收的时候,对Region回收都是基于复制算法进行的,都是把要回收的Region里的存活对象放入其他region,然后这个Region中的垃圾对象全部清理调,这样的话在回收过程就会不断空出来新的Region)
-XX:G1MixedGCLiveThresholdPercent 回收Region时,必须是存活对象低于Percent%的Region才可以进行回收 默认85% (如果存活对象过多,复制算法成本会很高)

 

元数据区

-XX:TraceClassLoading :追踪类加载

-XX:TraceClassUnloading: 追踪类卸载

 

大量反射场景

-XX:SoftRefLRUPolicyMSPerMB 提高这个数值就是让反射过程中JVM自动创建的软引用的一些类的class对象不要被随便回收

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值