项目代码中出现了内存溢出,报错为java.lang.OutOfMemoryError: GC overhead limit exceeded,但用MAT工具分析dump文件,发现堆内存共使用1.6g(Xmx设置是2g),业务线程池的BlockingQueue几乎占满size,但我们设置的size当时评估即使占满,也不会内存溢出,请教这种怎么处理?
网上找了篇文章:https://blog.csdn.net/renfufei/article/details/77585294,我这种情况是否可以加JVM参数:-XX:-UseGCOverheadLimit解决?
同时请教GC overhead limit exceeded和元数据区有关系吗?因为配置的-XX:MaxMetaspaceSize=128m,gc发现一直在98%。
杨__羊羊
相关分类