导读 Meta/Facebook的工程师宣布了他们在THP Shrinker方面的工作,这是一种让Linux的透明页(THP)工作更有效率的方法,主要原理是通过移除未被充分利用的透明页来避免内存浪费。

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:

//lore.kernel.org/lkml/cover.1661461643.git.alexlzhu@fb.com/

现在这个THP收缩器只是500多行的新内核代码。

原文来自:

本文地址://lrxjmw.cn/linux-facebook-thp.html编辑:清蒸github,审核员:清蒸github

Linux大全:

Linux系统大全:

红帽认证RHCE考试心得: