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

THP對于某些工作負載來說,通過減少TLB緩存的未命中狀態(tài)可以提高效率,但是2MB與4Kb的頁面大小如果沒有得到有效利用,反而會導(dǎo)致大量的內(nèi)存浪費。
Facebook的工程師在他們的一個平臺上發(fā)現(xiàn),由于THP沒有得到充分利用,甚至讓每臺機器造成了大約2.7GB的內(nèi)存浪費。
Facebook正在為Linux內(nèi)核開發(fā)的THP收縮機制旨在解決這種浪費,與此同時仍然可以享受THP以提高CPU效率的優(yōu)勢,THP Shrinker將分割利用率最低的大內(nèi)存頁面。
THP Shrinker旨在避免浪費RAM,并盡可能讓大內(nèi)存頁面透明并對外開放,使其無條件地啟用,從而替代了基于madevise系統(tǒng)調(diào)用的選擇。
Facebook的工程師們正在努力圍繞這個THP Shrinker增加額外的調(diào)整,并可能與CPU/IO/內(nèi)存壓力事件掛鉤。最終,工程師希望通過THP收縮器可以直接廢除Linux的madvise THP模式,并切換到THP為所有應(yīng)用程序啟用。
標(biāo)簽: