JVM调优参数

JVM调优参数

ParNew+CMS垃圾回收器参数
参数描述
-Xms
-XX:InitialHeapSize
java堆内存大小
-Xmx
-XX:MaxHeapSize
java堆内存最大大小
-Xmnjava堆内存中新生代大小,扣除新生代剩下的就是老年代内存大小
-XX:NewSize初始新生代大小
-XX:MaxNewSize最大新生代大小
-XX:PermSize
-XX:MetaspaceSize
永久代大小
-XX:MaxPermSize
-XX:MaxMetaspaceSize
永久代最大大小
-Xss每个线程的栈内存大小
-XX:MaxTenuringThreshold设置新生代GC进老年代的年龄,默认是15
-XX:TargetSurvivorRatio目标存活率,用于动态年龄判断,默认50%
-XX:PretenureSizeThreshold大对象直接进入老年代
-XX:SurvivorRatio设置eden和survivor大小比例
-XX:+UseParNewGC使用ParNew垃圾回收器对新生代进行回收
-XX:ParallelGCThreads设置垃圾回收器使用线程的数量,一般不要手动设置这个参数,默认跟机器核数相同就可以了
-XX:CMSInitiatingOccupancyFaction设置老年代占用多少比例时触发CMS,jkd1.6里默认是92%,用来存放并发清理时新移到老年代的对象,这里面就有浮动垃圾
-XX:+UseCMSInitiatingOccupancyOnly和上一个参数配套使用,如果不加这个,就只有第一次是92%,加了这个参数就可以保证每次92%的时候都进行GC
-XX:+UseCMSCompactAtFullCollection这个是默认就打开了的,意思是Full GC以后要再次Stop the World,进行内存整理,避免内存碎片
-XX:CMSFullGCsBeforeCompaction意思是执行多次Full GC后再执行一次内存整理,默认是0,就表示每次Full GC后都再进行一次内存整理
-XX:+CMSParallelInitialMarkEnabled这个参数会在CMS初始化标记阶段开启多线程并发执行,减少STW
-XX:+CMSScavengeBeforeRemark这个参数会在CMS重新标记阶段之前,先尽量进行一次Young GC
-XX:+CMSParallelRemarkEnabledCMS重新标记的时候开启多线程并发执行,减少STW
-XX:+DisableExplicitGC这个参数是禁止显示执行GC,不允许通过代码触发GC
-XX:HeapDumpOnOutOfMemoryErrorOOM的时候自动dump一份内存快照
-XX:HeapDumpPath=/usr/local/app/oom指定dump内存快照存放地址
-XX:+PrintGCDetails打印详细的GC日志
-XX:+PrintGCTimeStamps这个参数可以打印每次GC发生的时间
-Xloggc:gc.log这个参数可以设置,将gc日志写入磁盘文件
-XX:+PrintHeapAtGC在每次GC前都要GC堆的概况输出
下面的参数不常用
-XX:-HandlePromotionFailure新生代所有对象大小超过老年代剩余空间时会验证这个参数,决定是否比较之前进入老年代的活对象的平均大小(空间担保规则,jdk1.6之后默认开启)
-XX:+TraceClassLoading追踪类加载的情况,会通过日志打印出来JVM加载了哪些类
-XX:+TraceClassUnloading追踪类卸载的情况,会通过日志打印出来JVM卸载了哪些类
-XX:SoftRefLRUPolicyMSPerMB代表每MB空闲内存空间可以允许SoftReference对象存活多久,默认1000(次参数一般采用默认,如果被误设为0,高负载时会导致动态代理生成的类吃掉Metaspace内存,导致原空间OOM)
G1垃圾回收器参数
参数描述
-XX:UseG1GC指定使用G1垃圾回收器
-XX:G1HeapRegionSize=2M指定每个Region大小,一般不指定,使用默认的(内存/2048)
-XX:G1NewSizePercent指定新生代占堆内存初始百分比大小,一般使用默认值5%
-XX:G1MaxNewSizePercent设置新生代占堆内存最大的百分比大小,一般使用默认值60%
-XX:SurvivorRatio=8eden和survivor比例,在G1回收器中依然可以使用
-XX:MaxGCPauseMills设置G1执行GC最多可以让系统停顿的时间,默认值是200ms(这个参数是G1垃圾回收器最重要的参数)
-XX:MasTenuringThreshold设置进入老年代的年龄(G1也是可以使用的)
-XX:InitiatingHeapOccupancyPercent设置老年代占堆内存多少比例时,触发新生代老年代混合回收,默认是45%
-XX:G1MixedGCCountTarget设置一次回收过程中最后一步混合回收执行几次,默认8次
-XX:G1HeapWastePercent设置空出来多少百分比的Region时,混合回收就停止执行,默认5%
-XX:G1MixedGCLiveThresholdPercent设置回收Region时,存活对象低于多少百分比的Region才可以回收,默认是85%。如果内存不够了也会强制执行超过85%的Region
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值