求助>老年代占用慢慢递增直到100%,感觉老年代的内存不回收,求助大佬>
4回复
1周前

老年代占用慢慢递增直到100%,感觉老年代的内存不回收,求助大佬



运行两天左右发现老年代内存就占用了100%,求助大佬该如何排查?
image.png

jmap -histo 19262|head -100
image.png

image.png

1442 阅读
请先登录,再评论

回复列表

彭成寒4天前

你用的是PS垃圾回收,从时间上看,发生过一次YGC(次数从178到179)。在PS中要老生代也发生回收的条件有2个:YGC失败,或者YGC成功但是晋升对象的大小大于老生代中剩余可用的字节。虽然你的老生代可用空间已经非常小了,但是估计没有晋升,所以就没有触发FGC。

你假笨1周前

这个只能做内存dump了,然后看看byte数组的被引用路径统计

你假笨3天前
回复 luqh++:

居然才看到消息😭,你上面的截图并没有体现byte[],你可以到类视图,然后看到byte[],再看incoming,列出来的结果看看

回复
luqh++1周前
回复 你假笨:

老师您好,byte数组的Merge Shortest Paths to GC Roots,见截图,似乎没有发现业务堆栈代码。
TIM截图20200115112749.png
TIM图片20200115112723.png

回复