Facebook開發新的THP收縮機制以避免Linux內存浪費

Meta/Facebook的工程師宣布了他們在THP Shrinker方面的工作,這是一種讓Linux的透明頁(THP)工作更有效率的方法,主要原理是通過移除未被充分利用的透明頁來避免內存浪費

image.webp

THP對於某些工作負載來說,通過減少TLB緩存的未命中狀態可以提高效率,但是2MB與4Kb的頁面大小如果沒有得到有效利用,反而會導致大量的內存浪費。

Facebook的工程師在他們的一個平台上發現,由於THP沒有得到充分利用,甚至讓每台機器造成了大約2.7GB的內存浪費。

Facebook正在為Linux內核開發的THP收縮機制旨在解決這種浪費,與此同時仍然可以享受THP以提高CPU效率的優勢,THP Shrinker將分割利用率最低的大內存頁面。

THP Shrinker旨在避免浪費RAM,並儘可能讓大內存頁面透明並對外開放,使其無條件地啟用,從而替代了基於madevise系統調用的選擇。

Facebook的工程師們正在努力圍繞這個THP Shrinker增加額外的調整,並可能與CPU/IO/內存壓力事件掛鈎。最終,工程師希望通過THP收縮器可以直接廢除Linux的madvise THP模式,並切換到THP為所有應用程序啟用。

關於這個有趣的內核開發的更多細節,請看lore.kernel.org:

https://lore.kernel.org/lkml/[email protected]/

現在這個THP收縮器只是500多行的新內核代碼。

(0)
上一篇 2022-08-26 18:13
下一篇 2022-08-26 18:14

相关推荐