jprofiler定位内存占用过多问题

现象

1、heap的eden很快就被占满了,同时触发了minor gc
2、full gc之后只能释放部分内存(2g左右),同时from的object不断copy到old区,所以不断的触发full gc

解决办法

使用jprofiler跟踪内存变化,获取call tree。(jprofiler使用前面介绍过了)

排查过程

jprofiler定位内存占用过多问题_第1张图片
总的分配情况.png
jprofiler定位内存占用过多问题_第2张图片
char数组分配情况.png
jprofiler定位内存占用过多问题_第3张图片
int数组分配.png

结论

通过上面的内存分配可以定位到主要内存分配的代码。优化相关逻辑

你可能感兴趣的:(jprofiler定位内存占用过多问题)