gpt4 book ai didi

java - Apache Spark 中的 spark.storage.memoryFraction 设置

转载 作者:太空狗 更新时间:2023-10-30 00:39:27 26 4
gpt4 key购买 nike

根据 Spark 文档

spark.storage.memoryFraction:用于 Spark 内存缓存的 Java 堆部分。这不应大于 JVM 中对象的“旧”代,默认情况下,堆的大小为 0.6,但如果您配置自己的旧代大小,则可以增加它。

我发现一些博客和文章建议在 yarn 模式下将其设置为零。为什么这比将它设置为接近 1 的值更好?一般来说,它的合理值(value)是多少?

最佳答案

Spark 执行器设置为 3 个区域。

  1. 存储 - 为缓存保留的内存
  2. 执行 - 为对象创建保留的内存
  3. 执行者开销。

在 Spark 1.5.2 及更早版本中:

spark.storage.memoryFraction 设置为1和2设置的内存比例。默认值为.6,因此分配的执行程序内存的60%被保留用于缓存。根据我的经验,我只发现数量减少了。通常,当开发人员遇到 GC 问题时,应用程序的对象会出现较大的“流失”,而优化的首要位置之一就是更改 memoryFraction。

如果您的应用程序不缓存任何数据,那么您应该将其设置为 0。不确定为什么这会特定于 YARN,您可以发布文章吗?

在 Spark 1.6.0 及更高版本中:

内存管理现已统一。存储和执行共享堆。所以这不再适用了。

关于java - Apache Spark 中的 spark.storage.memoryFraction 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34509593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com