统计
  • 建站日期:2021-03-10
  • 文章总数:699 篇
  • 评论总数:733 条
  • 分类总数:10 个
  • 最后更新:12月4日
文章 后端知识

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

程序员阿鑫
首页 后端知识 正文

问题描述

由于同时启动了多个项目,导致电脑蓝屏重启,重启后idea启动项目,提示系统资源不足,和Information:java: java.lang.OutOfMemoryError: GC overhead limit exceeded错误,
【java.lang.OutOfMemoryError:GCoverheadlimitexceeded异常解决方法】-程序员阿鑫-带你一起秃头!-第1张图片
重新编译后启动,仍旧是相同错误
【java.lang.OutOfMemoryError:GCoverheadlimitexceeded异常解决方法】-程序员阿鑫-带你一起秃头!-第2张图片
【java.lang.OutOfMemoryError:GCoverheadlimitexceeded异常解决方法】-程序员阿鑫-带你一起秃头!-第3张图片

原因分析:

简单来说,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:GCoverheadlimitexceeded异常解决方法】-程序员阿鑫-带你一起秃头!-第4张图片
【java.lang.OutOfMemoryError:GCoverheadlimitexceeded异常解决方法】-程序员阿鑫-带你一起秃头!-第5张图片
将最大运行内存设置为4096m后,重启项目,还是相同的错误

设置构建项目内存:
【java.lang.OutOfMemoryError:GCoverheadlimitexceeded异常解决方法】-程序员阿鑫-带你一起秃头!-第6张图片
设置后重启项目,启动成功!
所以错误原因是构建项目内存不足导致,希望遇到相同问题小伙伴可以参考一下!

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
java 根据IP地址获取地理位置
« 上一篇
羊了个羊一键获取全皮肤 (傻瓜式操作)
下一篇 »
为了防止灌水评论,登录后即可评论!
注册登录

HI ! 请登录
注册会员,享受下载全站资源特权。
登陆 注册
上号,带你一起秃头!

IP地址

热门文章

1
抖音无限礼物模拟小工具分享
2
QQ假红包引流QQ群教程及代码
4
卡QQ永久大会员方法

最新文章

标签