开发者社区> 问答> 正文

MaxCompute Spark中Executor 内存不足的原因及解决方案是什么?

MaxCompute Spark中Executor 内存不足的原因及解决方案是什么?

展开
收起
芯在这 2021-12-12 22:55:53 808 0
1 条回答
写回答
取消 提交回答
  • 限制executor 并行度,将cores 调小:多个同时运行的 Task 会共享一个Executor 的内存,使得单个 Task 可使用的内存减少,调小并行度能缓解内存压力增加单个Executor内存

    增加分区数量,减少每个executor负载

    考虑数据倾斜问题,因为数据倾斜导致某个 task 内存不足,其它 task 内存足够

    如果出现了上文所述的Cannot allocate memory或The job has been killed by "OOM Killer", please check your job's memory usage,这种情况通常是由于系统内存不足,可以适当增加一些堆外内存来缓解内存压力,通常设置spark.executor.memoryOverhead为1g/2g就足够了

    2021-12-12 22:56:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载