JVM学习之调优问题和参数配置

JVM如何调优

1.jvm调优主要目的是减少轻GC和Full GC的次数,因为轻GC和重GC都是会占用很多cpu的,影响系统的吞吐量。
2、那么如何设置呢?
• 尽量让对象在新生代GC的时候就回收,让对象咋新生代多存活一段时间,不要创建过大的对象及数组避免直接在老年代创建对象
• 控制堆内存的新生代、老年代部分的比例和GC策略:
( 1)、新生代设置过小:一是轻GC就太频繁了,增大了系统消耗,二是导致大对象直接进入旧生代,占据了旧生代剩余空间,诱发Full GC
(2)、新生代设置过大:让轻GC的耗时也变长了,导致老年代就变小,诱发Full GC次数变多
重点 :一般设置新生代占整个堆的1/3比较合适
(3)、幸存区Survivor设置过小:导致对象从伊甸区直接就去了老年代,降低了在新生代的存活时间
(4)、幸存区Survivor设置过大:伊甸区就变小,增加了GC频率,另外,通过-XX:MaxTenuringThreshold=n来控制新生代存活时间,尽量让对象在新生代被回收

总结:jvm调优如何设置参数

1.在实际工作中,可以直接将初始的堆大小-Xms与最大堆-Xmx大小相等,避免每次垃圾回收完成后JVM重新分配内存,减少程序运行时垃圾回收的次数,提高效率。
2.一般设置新生代-Xmn=…m,或者设置比例-XX:NewRatio=n,如:为2,表示年轻代与年老代比值为1:2,占整个堆的1/3比较合适
3.通过-XX:SurvivorRation=n来调整伊甸区Eden Space跟幸存区SurvivorSpace的大小,一般使用默认配置就行,也可以设置n=3,即伊甸区:幸存区0:幸存区1 = 3:1:1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值