`
langzhiwang888
  • 浏览: 182033 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

java.lang.OutOfMemoryError: GC overhead limit exceeded

 
阅读更多

 

这个是JDK6新添的错误类型。是发生在GC占用大量时间为释放很小空间的时候发生的,是一种保护机制。解决方案是,关闭该功能,使用—— -XX:-UseGCOverheadLimit

 

这里要查看是否有使用大内存的代码或死循环。

 

Sun官方解释:

The parallel / concurrent collector will throw an OutOfMemoryError if too much time is being spent in garbage collection: if more than 98% of the total time is spent in garbage collection and less than 2% of the heap is recovered, an OutOfMemoryError will be thrown. This feature is designed to prevent applications from running for an extended period of time while making little or no progress because the heap is too small. If necessary, this feature can be disabled by adding the option -XX:-UseGCOverheadLimit to the command line

 

 

 

 

 

一、异常如下:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

 

二、解释:
JDK6新增错误类型。当GC为释放很小空间占用大量时间时抛出。
一般是因为堆太小。导致异常的原因:没有足够的内存。

 

三、解决方案:

1、查看系统是否有使用大内存的代码或死循环。
2、可以添加JVM的启动参数来限制使用内存:-XX:-UseGCOverheadLimit

分享到:
评论
1 楼 zfms 2013-03-26  
-XX:-UseGCOverheadLimit

具体有什么用?

相关推荐

    SmaliInjector20170719

    若在 jar 转加 dex 的过程中出现 java.lang.OutOfMemoryError: GC overhead limit exceeded 的错误,请调大 main.bat 中的 -Xmx 和 -Xss 其它: ============================================================...

    关于java堆内存溢出的几种情况

    【情况二】:`java.lang.OutOfMemoryError: GC overhead limit exceeded` 这个错误是JDK6引入的新类型,当垃圾收集器为了释放少量空间而花费过多时间时抛出。通常由于堆内存过小,导致频繁且效率低下的垃圾回收。...

    kettle内存溢出(Java heap space)以及解决方法.docx

    当程序创建新的对象并分配给堆时,如果堆空间不足,就会抛出`OutOfMemoryError: Java heap space`异常。Java应用程序可以通过设置JVM的启动参数来控制堆的大小,例如`-Xms`和`-Xmx`分别用于设置初始堆大小和最大堆...

    系统稳定性——OutOfMemoryError常见原因及解决方法1

    当JVM执行垃圾收集的时间超过98%,但只能回收不到2%的内存,并且这种情况连续发生5次,就会触发`java.lang.OutOfMemoryError:GC overhead limit exceeded`。这表明应用几乎耗尽了所有内存,且GC无法有效回收。 - ...

    poi大量数据读取gc内存溢出解决方案

    poi读取大量数据会造成gc内存溢出的报错,由于垃圾回收机制无法将大量的对象及时的回收,而这些对象又会保存在内存中,会导致内存不够用的情况,这时候我们就需要使用新的方法,读取为cvs即可.此解决方案可支持千万数据的...

    OutOfMemoryError_8种典型案例分享

    当垃圾收集器在执行GC时,所花费的时间超过98%的时间用于回收不到2%的堆内存,超过一定的阈值时就会抛出GC overhead limit exceeded错误。这通常表明应用生成了太多的垃圾,虽然堆内存未满,但垃圾太多导致垃圾回收...

    无私奉献-jvm面试备战

    OutOfMemoryError 异常有多种场景,包括 java.lang.OutOfMemoryError: Java heap space、java.lang.OutOfMemoryError: GC overhead limit exceeded 和 java.lang.OutOfMemoryError: Direct buffer memory 等。

    java内存溢出原因

    - **错误日志**:`java.lang.OutOfMemoryError: Java heap space` 和 `java.lang.OutOfMemoryError: GC overhead limit exceeded` - **原因**:创建大量对象或者内存泄露可能导致Java堆空间不足。例如,大数据加载...

    R语言导入导出数据方法介绍

    讲述如何在R语言中导入导出数据的PPT,一共28张

    OutOfMemoryError Handbook

    OutOfMemoryError的8种经典案例,Java heap space、GC overhead limit exceeded、Permgen space、Metaspace、Unable to create new native thread、Out of swap space?、Requested array size exceeds VM limit、...

    JVM+多线程.pdf

    - **java.lang.OutOfMemoryError: GC overhead limit exceeded**:系统处于高频GC状态,但回收效果不佳。 - **java.lang.OutOfMemoryError: PermGen space**:永久代(或元空间)内存不足。 - **java.lang....

    FTB-Presents-Stoneblock-2

    如果您的游戏在启动时崩溃,并且崩溃日志中的行类似于Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded或Caused by: java.lang.OutOfMemoryError: Java heap space ,这是因为游戏的RAM不足了。...

    java内存泄露、溢出检查方法和工具.doc

    如果程序在运行过程中无法正确地释放不再使用的内存,就会导致内存泄露,进而可能引发内存溢出错误,如"java.lang.OutOfMemoryError: GC overhead limit exceeded"或"java.lang.OutOfMemoryError: Java heap space...

    系统单点登录性能测试优化方案.docx

    在日志分析中,发现了内存溢出错误“java.lang.OutOfMemoryError: GC overhead limit exceeded”,这通常是因为大量数据处理导致垃圾收集效率低下。日志还显示,登录首页时进行了全表扫描,加载了大量的数据到内存,...

    java内存泄露、溢出检查方法和工具

    java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError: Java heap space ``` 初步判断可能的原因有: 1. **JVM内存设置不当**: - 项目的实际需求超出默认的JVM内存设置。 2. **...

    sliding-block-puzzle:使用搜索算法解决滑块难题

    有两个证据可以证明这一点: 对于随机生成的15个难题,DFS总是会出现以下错误: java.lang.OutOfMemoryError: GC overhead limit exceeded如果我通过改组最终状态难题来创建15个拼图,那么随着改组次数的增加,DFS...

    WebLogic宕机大全总结

    在给定的部分内容中,我们可以看到“java.lang.OutOfMemoryError: GC overhead limit exceeded”的错误提示,表明JVM在进行垃圾回收的过程中花费了过多时间,最终导致了内存溢出。 **解决方案**: - 调整`...

    Eclipse下使用ANT编译提示OutOfMemory的解决方法

    ANT是一个强大的构建工具,它可以用来自动化Java项目的各种任务,如编译、打包、测试等。然而,当项目规模增大,ANT需要处理的源代码数量增多时,内存需求也会随之增加。默认情况下,ANT可能没有配置足够的内存来...

    weblogic常见故障总结.docx

    1.3 故障编号:OutOfMemoryError: GC Overhead limit exceeded 日志报错:当垃圾收集花费的时间超过98%且CPU利用率低于2%,JVM会抛出此错误。 排查思路:分析垃圾收集器的性能,检查是否有内存泄漏或者长时间运行的...

Global site tag (gtag.js) - Google Analytics