Akh*_*laV 3 apache-spark spark-streaming apache-spark-1.5.2
我将Spark 1.5.2用于Spark Streaming应用程序.
Web UI中"执行者"选项卡中的" 存储内存 "是什么?这是如何达到530 MB?如何改变这个价值?
Jac*_*ski 11
注意:您使用非常非常旧且当前不受支持的Spark 1.5.2(在我发布答案后我注意到了),我的答案是关于Spark 1.6+.
存储内存的工具提示可能会说明一切:
使用的内存/用于存储数据的总可用内存,如内存中缓存的RDD分区.
它是SPARK-10000中引入的统一内存管理功能的一部分:整合存储和执行内存管理(引用逐字):
Spark中的内存管理目前分为两个不相交的区域:一个用于执行,一个用于存储.这些区域的大小是静态配置的,并且在应用期间是固定的.
这种方法有几个局限性.它需要用户专业知识来避免不必要的溢出,并且没有适用于所有工作负载的合理默认值.作为Spark用户,我希望Spark更智能地管理内存,因此我不需要担心如何静态分区执行(shuffle)内存分数和缓存内存分数.更重要的是,不使用缓存的应用程序仅使用堆空间的一小部分,从而导致性能欠佳.
相反,我们应该统一这两个区域,如果可能的话,让一个人借用另一个区域.
您可以使用spark.driver.memory或spark.executor.memorySpark属性来控制存储内存,这些属性为Spark应用程序(驱动程序和执行程序)设置整个内存空间,区域由spark.memory.fraction和控制spark.memory.storageFraction.
您应该考虑由作者Andrew Or 观看Apache Spark中的幻灯片内存管理,以及作者自己(再次)观看Deep Dive:Apache Spark内存管理视频.
您可能想要了解如何在Web UI 如何计算存储内存(在Executors选项卡中)中计算存储内存值(在Web UI和内部)?
| 归档时间: |
|
| 查看次数: |
4280 次 |
| 最近记录: |