系统假死——系统频繁Full gc问题分析
2017-04-17 11:49 Loull 阅读(1278) 评论(0) 收藏 举报主要可能的原因:
1,eden区太小,eden和survivor默认比例是8:1
2,old区太小,新生代和老年代的比例也可以调节的。
3,是否程序会分配很多短期存活的大对象,程序本身是否有问题?
进入老年区的影响因素不只是一个survivor啊。还有对象大小,存活次数,新生区老年区大小等因素。单纯改survivor大小有点盲目。
还有你只是单纯的觉得full gc频繁,那你综合分析过没。是否在你压测配置的资源情况下,其实已经达到最优了?
另外还可以通过其他工具检测下都是哪些对象在占用大量内存资源。
还有你只是单纯的觉得full gc频繁,那你综合分析过没。是否在你压测配置的资源情况下,其实已经达到最优了?
另外还可以通过其他工具检测下都是哪些对象在占用大量内存资源。
大对象样例:
http://itindex.net/detail/53283-%E7%B3%BB%E7%BB%9F-full-gc
full gc耗时和对象数量和对象大小有关,持续时间不一定。比如耗时2~3秒,这么短时间内服务一般不会从配置中心删掉,所以这时候的调用可能超时。