我在考虑换衣服 yarn.nodemanager.resource.memory-mb
比我机器上可用的内存高的值。做了一个快速搜索发现,没有多少人这样做。
在yarn上,许多长寿命的应用程序必然会有一个jvm堆空间分配,其中一些内存被更频繁地使用,而另一些则很少使用。在这种情况下,将这些应用程序的一些不常使用的内存部分交换到磁盘,并将可用的物理内存重新分配给其他需要它的应用程序,这将是非常有意义的。
鉴于上述背景,有人能证实我的推理或提供另一种观点吗?另外,请你也澄清一下参数 yarn.nodemanager.vmem-pmem-ratio
在上述情况下有效吗?
1条答案
按热度按时间eivgtgni1#
这不是个好主意。尝试使用比可用内存更多的内存最终会使节点管理器主机崩溃。
已经有一种称为机会主义容器的功能,它使用nms没有使用的空闲内存,并向这些主机添加更多容器。请参阅:
yarn-1011[umbler]基于当前分配的容器的利用率来调度容器
此外,pepperdata还有一款产品,如果你等不及yarn-1011,它也能做几乎相同的事情。
https://www.pepperdata.com/products/capacity-optimizer/
至于
yarn.nodemanager.vmem-pmem-ratio
,不启用此功能,因为不再推荐此功能。Yarn-782 vcores-pcores比值与vmem-pmem比值的作用方式不同