性能问答>full gc之后为啥老年代的空间变大了?>
5回复
4年前

full gc之后为啥老年代的空间变大了?



image.png

-Xms200m -XX:+UseSerialGC -XX:NewRatio=1 -XX:+PrintGC -XX:PretenureSizeThreshold=900000000000

以上是我的代码和配置,堆总共200m,老年代100m 新生代100m,默认8:1:1,收集器全用Serial,并且调高了直接进入老年代的阈值。

一次数组创建进去60m

image.png

这是第二个数组创建前的ygc,被form和to都太小直接就进了老年代。

image.png

这是第三个数组创建前的gc,因为我没将第一个数组的引用断开,本来以为会爆溢出,但是发现total直接变大了,两个数组都塞到了老年代。

既然来了就一起问了:

第一次ygc后新生代遗留的761k的是什么?
eden+from+to为什么不等于total?
为啥gc之后老年代扩容进一倍?

4407 阅读
请先登录,查看5条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步