【发布时间】:2023-03-11 17:41:01
【问题描述】:
如果我们为 yarn 保留 80% 的内存,然后由于某种原因比如说内存泄漏,操作系统和本地程序消耗了 50% 的内存。
yarn 会知道他只有 50% 吗?对新提交的申请有何影响?
【问题讨论】:
标签: hadoop hadoop-yarn hadoop2
如果我们为 yarn 保留 80% 的内存,然后由于某种原因比如说内存泄漏,操作系统和本地程序消耗了 50% 的内存。
yarn 会知道他只有 50% 吗?对新提交的申请有何影响?
【问题讨论】:
标签: hadoop hadoop-yarn hadoop2
YARN 不会监控操作系统的可用内存。它像其他一切一样作为正常过程运行。因此,只要请求的内存超出可用内存,操作系统就会执行它的操作。
RE:MapReduce,大多数 MR 作业通常使用的内存远远少于所需的内存,因此在大多数情况下,本地进程过度消耗内存不会导致任何问题。 YARN 开发人员注意到了这种未充分利用的模式,并启用了 Opportunistic Containers 功能以最大限度地提高节点效率。
【讨论】:
stress (linux.die.net/man/1/stress) 以模拟占用可用内存。