避免Linux内存浪费:Facebook开发新的THP收缩机制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了避免Linux内存浪费:Facebook开发新的THP收缩机制相关的知识,希望对你有一定的参考价值。

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

避免Linux内存浪费:Facebook开发新的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为所有应用程序启用。

以上是关于避免Linux内存浪费:Facebook开发新的THP收缩机制的主要内容,如果未能解决你的问题,请参考以下文章

Linux如何调试内存泄漏

延迟加载

Linux 内存池源码浅析

Linux 内存池源码浅析

在Linux上高效开发的7个建议

一次解决Linux内核内存泄漏实战全过程