1:在我查询大量数据进行导出的时候往往第一次导出是没有问题,但是短时间内连续导出的时候就会出现OOM,导致服务节点重启。
2:我每次导出的数据是100w内,通过分析,首先想到的是创建的对象GC不过来,但是为什么会GC不过来呢,通常来说,导出如果是没有用的对象,GC效率还是可以的,如果导致GC速度慢,可能是因为对象还存在引用的地方。
3:所以最后我做了两个操作,首先
①将集合list对象调用clear()Api,进行remove,然后对这个集合对象赋值为null,这样这个集合对象在使用完之后,肯定没有了引用的地方。
②调整内存大小,我原配置是2g,调整为3g
4:之后就没有出现这样的情况了。
ps:因为我们是基于k8s部署,在项目的k8syml文件中直接改就行了,个人根据实际情况来搞
ps:个人案例,个人解决方法,仅供参考
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/160691.html