问答 查看内容
返回列表

请问一下BI的所有任务都跑了,为啥内存使用率还在百分之八十几?原理是什么?

18 2
发表于 昨天 10:35 | 查看全部 阅读模式
请问一下BI的所有任务都跑了,为啥内存使用率还在百分之八十几?原理是什么?

评论2

观小新楼主Lv.1 发表于 昨天 10:36 | 查看全部
空闲时间spark-worker不会释放内存资源
内存会一直占着
观小新楼主Lv.1 发表于 昨天 10:37 | 查看全部
原理:
Java本身并无法精确控制使用的内存,我们只能设置其最大使用的堆的大小,比如: 我们设置Spark进程的Heap Size 为 16G, 但是Java还会申请一些其它区域的内存,最终操作系统中的内存能比 Heap 大 20%~50%。 如果我们需要更精确的控制进程使用的内存,那最好是不要用Java,而是改为 C++等无GC的语言。
对于Spark来说,其号称是“内存计算引擎”,所以它会大量的利用和预先分配内存,并且它为了优化,不会主动释放已分配的内存(因为额外分配内存需要时间,影响性能)

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2024 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去回复 去发帖 返回顶部
快速回复 返回顶部 返回列表