性能问答>G1不写xmn的有点疑问,望解答>
3回复

G1不写xmn的有点疑问,望解答



机器是32G内存的,整个堆参数是-Xmx24G,默认最大停止时间是200ms

1、没有选择parnew+cms的原因:如果选用普通的垃圾回收器比如parnew+cms这样我给新生代分配很大内存的时候,势必回收时间会比较多!
2、所以我选择了G1垃圾收集器,因为可以设置最大的目标回收时间(虽然可能会不准但是相差不大就行),然后这样的话我看就是新生代老年代动态的了!

问题:我看给我的新生代也没分配多少内存7G,都给了老年代17G,其实我们项目在老年代存活的对象不多,如果设置了-xmn新生代的堆大小这样会导致gc最大目标回收时间会失效,但是如果不设置xmn的话给的新生代就很小这和我设置小点的新生代,和够用的老年代就行了,那么我的大内存的作用还有啥优势?还是我理解的有问题,帮我指正,感谢!!

 

 

 

330 阅读
请先登录,再评论

G1的话默认新生代起初是只有5%的样子,后面慢慢变多,最多是60%的样子,具体还得根据你设置的最大停顿时间来综合考虑

1月前

常驻对象很少的话,大内存没啥意义,小内存GC可能更快

1月前

那可以设置新生代的一个-XX:G1NewSizePercent 和 -XX:G1MaxNewSizePercent 初始化 新生代占堆内存比提高些

1月前