Android gc overhead limit exceeded

##### ERROR stack trace

org.broadinstitute.sting.utils.exceptions.ReviewedStingException: An error occurred during the traversal.  Message=GC overhead limit exceeded

at org.broadinstitute.sting.gatk.executive.HierarchicalMicroScheduler.toRuntimeException(HierarchicalMicroScheduler.java:368)

at org.broadinstitute.sting.gatk.executive.HierarchicalMicroScheduler.notifyOfTraversalError(HierarchicalMicroScheduler.java:359)

at org.broadinstitute.sting.gatk.executive.ShardTraverser.call(ShardTraverser.java:84)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

at java.util.concurrent.FutureTask.run(FutureTask.java:166)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

at java.lang.Thread.run(Thread.java:722)

Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded

at org.broadinstitute.sting.gatk.walkers.genotyper.AlleleFrequencyCalculationModel$ExactACset.(AlleleFrequencyCalculationModel.java:190)

at org.broadinstitute.sting.gatk.walkers.genotyper.ExactAFCalculationModel.updateACset(ExactAFCalculationModel.java:242)

at org.broadinstitute.sting.gatk.walkers.genotyper.ExactAFCalculationModel.calculateAlleleCountConformation(ExactAFCalculationModel.java:225)

at org.broadinstitute.sting.gatk.walkers.genotyper.ExactAFCalculationModel.linearExactMultiAllelic(ExactAFCalculationModel.java:139)

at org.broadinstitute.sting.gatk.walkers.genotyper.ExactAFCalculationModel.getLog10PNonRef(ExactAFCalculationModel.java:64)

at org.broadinstitute.sting.gatk.walkers.genotyper.UnifiedGenotyperEngine.calculateGenotypes(UnifiedGenotyperEngine.java:470)

at org.broadinstitute.sting.gatk.walkers.genotyper.UnifiedGenotyperEngine.calculateLikelihoodsAndGenotypes(UnifiedGenotyperEngine.java:192)

at org.broadinstitute.sting.gatk.walkers.genotyper.UnifiedGenotyper.map(UnifiedGenotyper.java:353)

at org.broadinstitute.sting.gatk.walkers.genotyper.UnifiedGenotyper.map(UnifiedGenotyper.java:119)

at org.broadinstitute.sting.gatk.traversals.TraverseLoci.traverse(TraverseLoci.java:65)

at org.broadinstitute.sting.gatk.traversals.TraverseLoci.traverse(TraverseLoci.java:18)

at org.broadinstitute.sting.gatk.executive.ShardTraverser.call(ShardTraverser.java:70)

... 5 more

##### ERROR ------------------------------------------------------------------------------------------

##### ERROR A GATK RUNTIME ERROR has occurred (version 2.0-35-gb3e7fbe):

##### ERROR

##### ERROR Please visit the wiki to see if this is a known problem

##### ERROR If not, please post the error, with stack trace, to the GATK forum

##### ERROR Visit our website and forum for extensive documentation and answers to

##### ERROR commonly asked questions http://www.broadinstitute.org/gatk

##### ERROR

##### ERROR MESSAGE: An error occurred during the traversal.  Message=GC overhead limit exceeded

##### ERROR ------------------------------------------------------------------------------------------

finish at time 2012-10-22 21:02

 

问题产生原因:

根据sun的说法: "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."

jvm gc行为中超过98%以上的时间去释放小于2%的堆空间时会报这个错误。

处理方法:

1. 在jvm启动参数中添加 "-XX:-UseGCOverheadLimit",该参数在JDK6中默认启用("-XX:+UseGCOverheadLimit")。

  调整后的生产环境中使用的参数为:   

JAVA_OPTS=‘-Xms512m -Xmx4096m -XX:MaxPermSize=128m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC‘

2. 检查是否有使用了大量内存的代码或死循环

3. 使用jstat命令监控gc行为是否正常

  jstat监控gc的命令格式为:

  jstat -gcutil [-t] [-h] [ []] 

  vmid为JVM进程id,可以用ps -ef 或 jps -lv命令查找。

  以下命令为每1秒钟输出一次gc状态,共输入5次

  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT   
  0.00  93.34  85.63  82.95  59.73   1085   33.351    58    4.396   37.748
 98.42   0.00  31.89  83.52  59.73   1088   33.487    58    4.396   37.883
100.00  85.65 100.00  84.08  59.73   1091   33.554    58    4.396   37.950
  0.00 100.00  54.30  84.49  59.73   1093   33.660    58    4.396   38.057
 98.25   0.00  10.46  85.11  59.73   1096   33.768    58    4.396   38.164
  经过一段时间的观察,确认是否正确
时间: 2024-08-30 14:25:50

Android gc overhead limit exceeded的相关文章

Android:java.lang.OutOfMemoryError:GC overhead limit exceeded

Android编译:java.lang.OutOfMemoryError:GC overhead limit exceeded 百度好多什么JVM啊之类的东西,新手简单粗暴的办法: 1.在的Model的build.gradle中配置 android{ -- dexOptions { incremental true javaMaxHeapSize "4g" } -- } 2.在项目的gradle.properties中: org.gradle.daemon=true org.gradl

Unable to execute dex: GC overhead limit exceeded

Android打包时下面的错误: Unable to execute dex: GC overhead limit exceeded GC overhead limit exceeded 解决的方法: 1.关闭Eclipse 打开D:\eclipse\eclipse.ini -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.eq

解决:Unable to execute dex: GC overhead limit exceeded

Android打包时下面的错误: Unable to execute dex: GC overhead limit exceeded GC overhead limit exceeded 解决方案如下:(更多交流请加入:Android优秀交流群 114559024) 1.关闭Eclipse 打开D:\eclipse\eclipse.ini -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launch

JVM运行报错:GC overhead limit exceeded

今天在折腾OOM和java的4种引用类型的时候,在运行过程中JVM报了一个错误: java.lang.OutOfMemoryError: GC overhead limit exceeded 这个错误平时遇到的概率很少很少,今天无意中遇到了,这里做个记录.oracle/sun官网的解释是: The concurrent collector will throw an OutOfMemoryError if too much time is being spent in garbage colle

Unhandled event loop exception GC overhead limit exceeded

1.错误描述 java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.zip.ZipFile.<init>(ZipFile.java:466) at java.util.zip.ZipFile.<init>(ZipFile.java:145) at java.util.zip.ZipFile.<init>(ZipFile.java:159) at org.eclipse.jdt.intern

java.lang.OutOfMemoryError:GC overhead limit exceeded

之所以写下来,是因为不想在下次遇到事有到处找,很多时候错误信息一样,但是导致的原因却有很多. 我试驾了一个虚拟机启动采纳数:-XX:-UseGCOverheadLimit 把原文链接写上,标示感谢: http://www.cnblogs.com/hucn/p/3572384.html 我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc

排查java.lang.OutOfMemoryError: GC overhead limit exceeded

帮助客户排查java.lang.OutOfMemoryError: GC overhead limit exceeded错误记录: 具体网址: https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=269134815562958&id=1554559.1&displayIndex=2&_afrWindowMode=0&_adf.ctrl-state=2t8bqbn6s_165 文档id: 155455

[Hadoop] - Hadoop Mapreduce Error: GC overhead limit exceeded

在运行mapreduce的时候,出现Error: GC overhead limit exceeded,查看log日志,发现异常信息为 2015-12-11 11:48:44,716 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: GC overhead limit exceeded at java.io.DataInputStream.readU

Spark 1.4.1中Beeline使用的gc overhead limit exceeded

最近使用SparkSQL做数据的打平操作,就是把多个表的数据经过关联操作导入到一个表中,这样数据查询的过程中就不需要在多个表中查询了,在数据量大的情况下,这样大大提高了查询效率. 我启动了thriftserver,然后通过beeline去连接thriftserver, 打平操作进行的很顺利,但是在执行groupby操作的时候beeline报了一个错误:gc overhead limit exceeded 我分析可能是thriftserver报的错误.但是查看了thriftserver的日志没有任