引起:java.lang.OutOfMemoryError:超出GC开销限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引起:java.lang.OutOfMemoryError:超出GC开销限制相关的知识,希望对你有一定的参考价值。

你能帮我解决一下GC开销错误吗?

背景:这是一个pig脚本,通过HCATALOGUE从4个hive表加载数据。 hive表是按顺序文件并按日期分区。负载数据大小约为。 24TB。

此脚本已成功运行16TB。

问题:尝试从配置单元读取数据时作业失败。没有为此映射提交应用程序ID,甚至在提交应用程序ID之前就会发生故障。所以,找不到YARN中的日志。

我尝试将yarn.app.mapreduce.am.resource.mb修改为6G,mapreduce.map.memory.mb(6GB),mapreduce.map.java.opts(6GB的0.8%),mapreduce.reduce.memory.mb( 8GB)和mapreduce.reduce.java.opts。仍然得到相同的错误。

对此有何帮助?

谢谢。

答案

有两种配置需要更改。

1.-XX:+ UseConcMarkSweepGC =使GC更频繁。

  1. -XX:-UseGCOverheadLimit =停止容器被杀,甚至等待更长时间。

在蜂巢控制台,只是解雇这个,你应该好好去。

蜂巢> SET mapred.child.java.opts=-Xmx4G -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit;

以上是关于引起:java.lang.OutOfMemoryError:超出GC开销限制的主要内容,如果未能解决你的问题,请参考以下文章

如何区分两个“onpause”事件 - 由单击“暂停”按钮引起,以及由到达媒体片段末尾引起?

查询如何引起gc

杂牌设备网络接入引起交换机引起端口翻转的故障

csharp 可能会引起问题的类的继承问题,父类后来增加的方法可能会引起子类的函数重载错误

两则dhcp设置引起的故障

大开测试:性能-如何解决由于设置引起的运行失败问题(连载22)