Spark 内存管理之StaticMemoryManager
来源:互联网 发布:怎么入侵网站数据库 编辑:程序博客网 时间:2024/05/16 16:22
概要
Spark 内存管理概述 介绍了内存管理接口MemoryManager对内存的大致划分,这篇研究其子类StaticMemoryManager,静态内存管理器,的行为,主要是各部分内存的占比。StaticMemoryManager是Spark 1.6之前唯一的内存管理器。
StaticMemoryManager
Spark 内存管理概述 介绍了MemoryManager的UML,StaticMemoryManager继承自MemoryManager,如下
StaticMemoryManager分别使用ExecutionMemoryPool、StorageMemoryPool管理execution、storage、unroll内存,UML如下
内存管理
回顾MemoryManager
MemoryManager将内存划分为如下几部分,接下来研究静态内存管理中下面各部分占比
静态内存管理
之所以称为静态内存管理,是因为storage、execution内存占比和界限是固定的。看下代码中对storage、execution、unroll内存大小的限制
- storage
- execution
- unroll
总结如下
storage 0.6 storage-safety 0.6 * 0.9 * (1.0-0.2) unroll 0.6 * 0.9 * 0.2 storage-reserved 0.6 * 0.1 execution 0.2 execution-safety 0.2 * 0.8 execution-reserved 0.2 * 0.2 other 0.2饼图表示如下
因为无法准确计算实际使用中的内存,因此,storage、execution都会保留一部分内存,就是上图中的storage-reserved、execution-reserved。
设置
spark 1.6版本之后默认使用统一资源管理器,由参数spark.memory.useLegacyMode控制,如下
总结
介绍StaticMemoryManager的结构,及其管理的内存storage、execution、unroll等占比,这里所说的管理只是数值的维护。
参考:
饼图工具–lizibuluo
1 0
- Spark 内存管理之StaticMemoryManager
- Spark 内存管理之StaticMemoryManager
- Spark静态内存管理:StaticMemoryManager
- Spark内存管理-UnifiedMemoryManager和StaticMemoryManager
- Spark内存管理-UnifiedMemoryManager和StaticMemoryManager
- Spark 内存管理之UnifiedMemoryManager
- Spark 内存管理之Tungsten
- Spark 内存管理之BytesToBytesMap
- spark学习-39-Spark的StaticMemoryManager
- Spark内存管理之钨丝计划
- spark 内存管理
- Spark内存管理
- Spark内存管理模型
- spark 内存管理
- Spark(二): 内存管理
- Spark内存管理
- Spark(二): 内存管理
- Spark(二): 内存管理
- React_Native倒计时控件,只需要添加一个结束时间
- Elasticsearch5 centos 中文搜索搭建
- MarkdownPad2.5 注册码
- C#课程设计之如何使用EXCEL
- 编程题(1):双核处理
- Spark 内存管理之StaticMemoryManager
- 函数外局部变量 null问题
- error C2220: warning treated as error
- JDK5新特性_自己实现枚举类
- 领域模型
- 题目1065:输出梯形
- 网络编程碎知识之由目标IP怎么知道目标MAC地址
- react-native-country-picker-modal手机通讯录
- comet4j 消息推送配置