2017-07-25 82 views
0

我在Openshift上運行Kafka集羣。據我所知,卡夫卡的性能依賴於頁面緩存。我試圖瞭解如何最好地限制卡夫卡容器上的資源,使其高效工作。Openshift資源限制和頁面緩存

Linux試圖使用緩衝區的可用RAM來加速磁盤操作。假設在一個節點上只運行一個Kafka容器,如果我將容器上的限制設置爲5Gi,那麼節點上剩餘的可用內存將用於緩衝區/緩存,我相信。

我想知道是否將限制設置爲10Gi,並且如果Kafka只使用5GB,剩餘未使用的5GB是否仍可用於操作系統的頁面切換?

回答

0

該限制不會保留內存,它只會限制應用程序的使用量。所以我不相信它會影響操作系統處理內核緩衝區/緩存的方式。

+0

感謝您的回覆。所以如果容器要求10Gi並且限制到10Gi,這意味着它保證有10GB。在這種情況下,Openshift是否爲容器保留了內存? – Vivek

+0

如果容器內的應用程序不使用整個10GB,剩餘的可用於頁面緩存嗎? 如果在besteffort模式下運行的同一節點上有另一個應用程序,Openshift會限制它的使用以保證10GB可用於其他應用程序? – Vivek

+0

調度程序使用請求量來確定哪個節點最適合放置節點。如果不能滿足其請求,應用程序將不會被放置在節點上。如果設置了限制,隨着其內存使用量的增長,調度程序可以將盡力而爲的應用程序衝擊到另一個節點,以允許具有限制的應用程序使用它。這一切都發生在Kubernetes調度器的領域內,並且是獨立於底層方式操作系統處理內存的決策。 –