gpt4 book ai didi

apache-spark - Spark 内存开销

转载 作者:行者123 更新时间:2023-12-04 12:23:50 24 4
gpt4 key购买 nike

在 SO 中多次询问 Spark 内存开销相关问题,我经历了其中的大部分。然而,在浏览了多个博客之后,我感到困惑。
以下是我的问题

  • 内存开销是执行程序内存的一部分还是
    分离?因为很少有博客说内存开销是
    执行器内存和其他人都说执行器内存+内存
    开销(这意味着内存开销不是执行程序的一部分
    内存)?
  • 内存开销和堆外开销是一样的吗?
  • 如果我没有提到开销作为其中的一部分会发生什么
    spark-submit,它会采用默认的 18.75 还是不会?
  • 如果我们提供比默认值更多的内存开销,会不会有任何副作用?

  • https://docs.qubole.com/en/latest/user-guide/engines/spark/defaults-executors.html
    https://spoddutur.github.io/spark-notes/distribution_of_executors_cores_and_memory_for_spark_application.html
    下面是我想了解的案例。
    我有 5 个节点,每个节点有 16 个 vcores 和 128GB 内存(其中 120 个可用),现在我想提交 spark 应用程序,下面是 conf,我在想
    Total Cores 16 * 5 = 80
    Total Memory 120 * 5 = 600GB
    案例1:执行器内存的Memory Overhead部分
    spark.executor.memory=32G
    spark.executor.cores=5
    spark.executor.instances=14 (1 for AM)
    spark.executor.memoryOverhead=8G ( giving more than 18.75% which is default)
    spark.driver.memoryOverhead=8G
    spark.driver.cores=5
    情况 2:内存开销不属于执行程序内存
    spark.executor.memory=28G
    spark.executor.cores=5
    spark.executor.instances=14 (1 for AM)
    spark.executor.memoryOverhead=6G ( giving more than 18.75% which is default)
    spark.driver.memoryOverhead=6G
    spark.driver.cores=5
    根据下面的视频,我正在尝试使用 85% 的节点,即 120GB 中的大约 100GB,不确定我们是否可以使用更多。
    https://www.youtube.com/watch?v=ph_2xwVjCGs&list=PLdqfPU6gm4b9bJEb7crUwdkpprPLseCOB&index=8&t=1281s (4:12)

    最佳答案

    回答您的问题 内存开销是执行程序内存的一部分还是单独的 ?
    内存开销不是执行程序内存的一部分。
    资源管理器启动容器以在其中执行执行程序。所以基本上执行程序内存 + 内存开销 = 容器内存 ..... spark 已经将执行程序内存分解为应用程序内存和缓存内存。
    Executor 内存开销主要包括堆外内存和 nio 缓冲区以及用于运行容器特定线程(线程堆栈)的内存。
    当您不指定内存开销时,资源管理器使用默认值计算内存开销值并相应地启动容器。
    始终建议为操作系统保留内核和内存(节点管理器为 1 个内核,其他守护程序为 1 个内核,操作系统为 2 个内核以优化工作)
    您可以像下面提到的那样更改您的计算
    12 * 5 = 60cores 和总内存 116 * 5 = 580GB 是可用的总资源。然后你相应地调整其他参数。

    关于apache-spark - Spark 内存开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63561233/

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