jvm中导致Full GC的情况
导致Full GC一般由于以下几种情况:
1)老年代空间不足
调优时尽量让对象在新生代(细分为Eden和幸存区)GC时被回收、让对象在新生代多存活一段时间(增大新生代内存或者调高晋升老年代的门槛)和不要创建过大的对象及数组避免直接在老年代创建对象
2)新生代设置过小
一是新生代GC次数非常频繁,增大系统消耗;二是导致大对象直接进入老年代,占据了老年剩余空间,诱发Full GC
3). 新生代设置过大
一是新生代设置过大会导致老年代过小(堆总量一定),从而诱发Full GC;二是新生代GC耗时大幅度增加
4). Survivor(幸存区)设置过小
导致对象从eden(伊甸园)直接到达老年代
5). Survivor设置过大
导致eden(伊甸园)过小,增加了GC频率
一般说来新生代占整个堆1/3比较合适
GC策略的设置方式
1). 吞吐量优先 可由-XX:GCTimeRatio=n来设置
2). 响应速度优先 可由-XX:MaxGCPauseRatio=n来设置
相关推荐
DAV数据库 2020-05-07
nangongyanya 2020-02-20
ChenRuiyz 2020-01-10
80981934 2019-12-16
zhoutao 2019-09-17
nbfcome 2018-07-09
wujiangping 2014-08-27
wujiangping 2013-04-21
beloveddarling 2013-11-04
Handsomefan 2019-07-07
一支菜鸟 2019-07-01
Simbacheng 2016-06-07
huangjing0 2019-06-30
ystar 2015-06-25
nbfcome 2014-04-10
xudongdong 2019-06-27
Simbacheng 2011-02-28
一支菜鸟 2019-06-26