Apache Yarn - 分配比物理内存或RAM更多的内存

时间:2018-05-18 05:25:30

标签: apache-spark hadoop yarn virtual-memory

我正在考虑将<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:nestedScrollingEnabled="true"> </ListView> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout> 更改为高于我的计算机上可用RAM的值。快速搜索显示,没有多少人这样做。

纱线上的许多长期存在的应用程序必然会有一个jvm堆空间分配,其中一些内存被更频繁地使用,而其中一些很少被使用。在这种情况下,这些应用程序将一些不经常使用的内存部分交换到磁盘并将可用物理内存重新分配给需要它的其他应用程序将是非常有意义的。

鉴于上述背景,有人可以请证实我的推理或提供替代观点吗?另外,请您澄清参数yarn.nodemanager.resource.memory-mb在上述情况下如何起作用?

1 个答案:

答案 0 :(得分:1)

这不是一个好主意。尝试使用比可用内存更多的内存最终会导致节点管理器主机崩溃。

已经有一个名为机会主义容器的功能,它使用NM未使用的备用内存,并为这些主机添加更多容器。请参阅:

YARN-1011 [Umbrella] Schedule containers based on utilization of currently allocated containers

此外,如果您不能等待YARN-1011,Pepperdata的产品几乎可以做同样的事情。

https://www.pepperdata.com/products/capacity-optimizer/

至于yarn.nodemanager.vmem-pmem-ratio,请不要启用它,因为不再推荐它。

YARN-782 vcores-pcores ratio functions differently from vmem-pmem ratio in misleading way