【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】

2023-04-17 0 718

问题描述

由于同时启动了多个项目,导致电脑蓝屏重启,重启后idea启动项目,提示系统资源不足,和Information:java: java.lang.OutOfMemoryError: GC overhead limit exceeded错误,
【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】
重新编译后启动,仍旧是相同错误
【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】
【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】

原因分析:

简单来说,java.lang.OutOfMemoryError: GC overhead limit exceeded发生的原因是,当前已经没有可用内存,经过多次GC之后仍然没能有效释放内存。
这个错误其实就是空闲内存与GC之间平衡的一个限制,当经过几次GC之后,只有少于2%的内存被释放,也就是很少的空闲内存,可能会再次被快速填充,这样就会触发再一次的GC。这就是一个恶性循环了,CPU大部分的时间在做GC操作,没有时间做具体的业务操作,可能几毫秒的任务需要几分钟都无法完成,整个应用程序就形同虚设了。经过监控发现,启动项目是CPU占有率达到100%。

解决方案:

出现这个错误,一般是因为JVM物理内存过小。默认的Java虚拟机最大内存仅为64兆,这在开发调试过程中可能没有问题,但在实际的应用环境中是远远不能满足需要的,除非你的应用非常小,也没什么访问量。否则你可能会发现程序运行一段时间后包java.lang.OutOfMemoryError的错误。因此我们需要提升resin可用的虚拟机内存的大小
设置idea运行内存
【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】
【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】
将最大运行内存设置为4096m后,重启项目,还是相同的错误

设置构建项目内存:
【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】
设置后重启项目,启动成功!
所以错误原因是构建项目内存不足导致,希望遇到相同问题小伙伴可以参考一下!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务