Spark内存空间管理

http://arganzheng.life/spark-executor-memory-management.html

https://zhuanlan.zhihu.com/p/115888408

调优方面的:https://blog.csdn.net/a805814077/article/details/106682741/?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242

依照java内存的划分,其堆内存分为eden、survivor*2和tenured部分,同时刻只有一个survivor可用,因而指定的堆内存实际可用的内存即Runtime.getRuntime.maxMemory查到的通常比Xmx指定的要小,一般为90-95%的样子,在这5g的executor中其值为4772593664,约为88%。

(4772593664-300102401024)0.6=值为2.67G,这就是上面看到的2.7G的来源,实际这里显示时不是将字节除以102410241024,而是直接除以10001000*1000得到的。

简单点:(5G * 90% -0.3)*0.6 = 2.52 实际上比这个大一点点

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容