java.lang.OutOfMemoryError:GC overhead limit exceeded解决方法

JVM源码剖析之Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded异常 最近在群里看到有一位老哥拿着异常信息到处问,而发生的就是java.lang.OutOfMemoryError: GC overhead limit exceeded异常,恰好看到经常有人询问关于这个异常的问题,如何发生的,要如何解决呢?所以促使我写下这篇文章,此文章分为3大块,出现的原因,如何解决,源码论证。 阅读详情
AI摘要

本文记录了启动公司项目编译时出现的Tomcat异常,即java.lang.OutOfMemoryError: GC overhead limit exceeded。该错误是JDK7新增类型,当GC为释放小空间占用大量时间、堆内存回收不到2%且GC时间超98%时会抛出。解决方案一是查看大内存代码或死循环,二是添加JVM启动参数限制内存。

今天在启动公司的项目,编译时出现了这么个错误,记录一下
在这里插入图片描述

Tomcat异常信息:

Exception in thread “main” java.lang.OutOfMemoryError: GC overhead limit exceeded

一、解释:JDK7新增错误类型。

当GC为释放很小空间占用大量时间时会抛出此异常

即(Sun 官方对此的定义:超过98%的时间用来做GC并且回收了不到2%的堆内存时会抛出此异常)。

一般是因为堆太小,导致异常的原因:没有足够的内存。

二、解决方案:

1、查看系统是否有使用大内存的代码或死循环。

2、可以添加JVM的启动参数来限制使用内存:-XX:-UseGCOverheadLimit

方法如下:linux环境下在tomcat的bin目录下 catalina.sh 文件中 在cygwin=false这一行上面加入 JAVA_OPTS=“-Xms512m -Xmx2048m -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit”

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

相关推荐

正确解决Java.lang.OutOfMemoryError: GC overhead limit exceeded错误的有效解决方法

正确解决Java.lang.OutOfMemoryError: GC overhead limit exceeded错误的有效解决方法

wbajsjhhhhh的博客 9785

java.lang.OutOfMemoryError: GC overhead limit exceeded问题分析及解决

我们学习再多的理论知识,不如一次生产实践中遇到一次问题带来的收获多。当然这里分享的如有错误还望指出,只有这样才能不断的进步。Java OOM 基础篇:常见的OutOfMemoryError 场景二 : GC overhead limit exceeded 问题详解 | HeapDump性能社区。

王华春_Jason 6万+

Java程序挂掉的几种可能

花了一整天在跟踪一个问题,每次感觉已经快找到原因的时候发现现象又变了,我觉得从中吸取的教训可以给大家分享一下。   为了重现这个现象,我写了一个简单的例子。在本例中,先初始化了一个map,然后用一个无限循环将一些键值对插入到map里面: class Wrapper { public static void main(String args[]) throws Exception { Map map = System.getProperties(); Random r = new Random(); while (true) { map.put(r.nextInt(), "valu

错误 java.lang.OutOfMemoryError:GCoverheadlimitexceeded

jvm

老鲁的博客 1万+

搜索引擎——ElasticSearch汇总

汇总——ElasticSearch篇 全文检索 问题1:什么是全文检索? 基本概念:对**非结构化数据/结构化数据**先建立**索引**,再对索引进行搜索**文档**的过程叫做全文检索。 什么是非结构化与结构化数据? - 非结构化数据:没有固定的格式的数据(html,word,excel)---没有固定长度,字段约束,描述,散列数据 - 结构化数据:有固定的格式的数据(如:数据库数据)---有固定长度(varchar(50)),字段类型,描述修饰数据 搜索算法:顺序扫描法、倒排索引法 - 顺序

alonewolf_99的博客 1839

告别手动标注!PDMS NakiToolkit插件安装与初体验:以Pipeline工具为例

本文详细介绍了PDMS NakiToolkit插件的安装与使用,特别是其Pipeline工具如何通过自动化标注和材料统计功能大幅提升三维工厂设计效率。从环境准备到实战演示,帮助工程师告别繁琐的手动标注工作,实现项目交付周期的大幅缩短。

weixin_30047059的博客 350

OutOfMemoryError系列(2): GC overhead limit exceeded

这是本系列的第二篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded OutOfMemoryError系列(3): Permgen space OutOfMemoryError系列...

weixin_33935505的博客 6571

J-LINK下载程序出现No Cortex-M Device found in JTAG chain…问题,最全7种解决方法

J-Link下载程序出现No Corect 等的问题的7种方法 后来编辑JLinkSettings.ini文件,找到"Device"项,将其更改Device="Cortex-M0+"

cjmsea的博客 5613

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

原文链接:https://www.cnblogs.com/dartagnan/archive/2010/12/24/2003469.html java.lang.OutOfMemoryError异常解决方法原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; 4.使用的第三方软件中的BUG; 5.启动参数内存值设定的过小; 常见错误提示: 1.tomcat

毛毛的博客 3万+

IPD流程中CBB管理的5个致命误区,第3个坑了80%的团队

本文深入剖析了IPD流程中CBB管理的五个致命误区,尤其指出缺乏有效的度量与激励机制是影响80%团队的核心陷阱。文章强调CBB的核心在于前瞻性设计,而非简单归档,并需平衡通用性与产品竞争力,同时建立持续运营机制,确保CBB与市场需求对齐,从而真正实现缩短开发周期、降低成本的目标。

weixin_29234423的博客 569

SAP S/4 FICO科目辅助余额表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP S/4 FICO科目辅助余额表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

我好像病了的博客 329

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

是由于JVM在垃圾回收时过度消耗时间且未能有效释放内存所引发的异常。解决该问题的关键在于分析和优化内存使用。通过增加堆内存、调整GC策略、优化代码、禁用GC overhead limit以及使用内存分析工具,可以有效地解决这一问题。希望本文提供的解决方案对您有所帮助!

猿鹏探码的博客 2969

多维时空数据介绍(4)多维栅格数据构建

上图中包含了经度、纬度和时间三个维度,其变量为经度、纬度、时间以及降雨量,对应的变量单位为东经多少度、北纬多少度、阳历1895-1-1日开始多少天以及每年降雨多少毫升,其中经度数值4个、纬度数值3个、时间数值2个都是一维的数据,而降雨量是一个包含经度、纬度、时间的三维数组,数值有4*3*2=24个。在GeoScene 中NetCDF数据可以用做多种多维时空数据的数据源,进行创建、可视化和分析,它可以是多维栅格数据、时空立方体,还可以是体元图层,区别在于其所要表示的内容和目的。变量又分为坐标变量和属性变量。

你好,我是小张同学! 1286

JAVA.LANG.OUTOFMEMORYERROR:GC OVERHEAD LIMIT EXCEEDED解决方法

异常如下:Exception in thread “main” java.lang.OutOfMemoryError: GC overhead limit exceeded 一、解释:JDK新增错误类型。 当GC为释放很小空间占用大量时间时会抛出此异常 即(Sun 官方对此的定义:超过98%的时间用来做GC并且回收了不到2%的堆内存时会抛出此异常)。 一般是因为堆太小,导致异常的原因:没有足够的内存。 二、解决方案: 1、查看系统是否有使用大内存的代码或死循环。 2、可以添加JVM的启动参数来限制使用内

Bertram的博客 2万+

【蓝牙协议栈】【BLE】详解蓝牙BLE连接建立过程

advertiser。发出广播的设备observer或者scanner。可以扫描广播的设备initiator。能发起连接的设备master或者central。连接成功后的主设备,即主动发起packet的设备slave或者peripheral。连接成功后的从设备,即被动回传packet的设备图11通过时间把observer,initiator和central串起来了,其实这三个角色是相互独立的,也就是说一个设备可以只支持observer角色,而不支持initiator和central角色。

风云说通信 2521

HDR 成像技术学习(三)—— LOFIC

LOFIC(Lateral Overflow Integration Capacitor,横向溢出集合电容)介绍,从像素结构到工作时序。

沧海一升的博客 9729

已解决 java.lang.OutOfMemoryError: GC overhead limit exceeded正确解决方法,亲测有效,嘿嘿嘿

`java.lang.OutOfMemoryError: GC overhead limit exceeded` 异常通常表示 Java 虚拟机(JVM)在花费了过多的时间(默认是超过 98% 的时间)来执行垃圾回收(GC),并且只回收了少量的堆内存空间。如果 JVM 发现垃圾回收器几乎没有回收任何对象,并且它花费了过多的时间,那么它会抛出这个错误。 ### 问题分析 当遇到这个异常时,可能意味着应用中存在以下问题: 1. 堆内存设置不合理,可能太小。 2. 存在内存泄漏,导致对象无法被回收。 3.

PythonAigc的博客 9797

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

关于java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法

目录 引言:遇到这种问题就是栈溢出的问题,内存不够,项目太大,导致下载整个项目的依赖时间过长 一、解决办法: 1、file---->settings---->builds,Execution, Deployment---->compiler 2、file---->settings---->tools---->web services 引言:遇到这种问题就是栈溢出的问题,内存不够,项目太大,导致下载整个项目的依赖时间过长 一、解决办法: 遇到这种问

m0_53151031的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java.lang.OutOfMemoryError: GC overhead limit exceeded原因及解决方法

java.lang.OutOfMemoryError: GC overhead limit exceeded原因及解决方法 问题复现:11-23日生产推送数据时,发生该错误,没有其他操作. 解释STW:jvm在执行垃圾回收线程时,其他线程都会被迫停止,只有垃圾收集线程执行完毕,其他线程才会恢复,这期间会有很少的等待时间,这个过程就是stw。 错误含义:该错误表示cpu在98%(默认值)的时间内都在处理jvm的垃圾收集,且堆中回收到的内存仍是低于2%,这是系统就会报GC overhead limit exce

初心不忘、始终方得 1万+

Spark java.lang.outofmemoryerror gc overhead limit exceeded 与 spark OOM:java heap space 解决方法

问题描述: 在使用spark过程中,有时会因为数据增大,而出现下面两种错误: java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError:GC overhead limit exceeded 这两种错误之前我一直认为是executor的内存给的不够,但是仔细分析发现其实并不是executor内存给的不足,而是

coco_ethan的专栏 1万+

IDEA 编译项目时报 java.lang.OutOfMemoryError:GC overhead limit exceeded 异常解决方法

在Intellij IDEA下编译Java项目,报错:java.lang.OutOfMemoryError: ...(此处忽略) GC overhead limit exceeded 遇到这种问题就是栈溢出的问题,内存不够,项目太大,导致下载整个项目的依赖时间过长

z18737360845的博客 7402
上一篇: java基础--动态代理的定义
下一篇: 6600余套个人简历模板
半鸭学长
博客等级 码龄5年 131粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值