Multi-Gen LRU ( MGLRU ) 在增强 Linux 系统性能方面仍然是一项非常有前途的工作,特别是在 Linux 内核处理系统内存压力时提供卓越的体验。MGLRU v11 已于本周发布,而我们正在等待看它是否会在 v5.19 合并窗口中成为主线。
由 Google 的 Yu Zhao 领导的 MGLRU 工作是关于改进 Linux 内核的页面回收代码,因为他们发现它过于昂贵并且做出了糟糕的驱逐选择。MGLRU 已经产生了非常有希望的实际基准测试结果用于进一步提高 Linux 的性能。据报道,Cassandra、Hadoop、MySQL/MariaDB、Memcached、MongoDB、PostgreSQL、Redis 取得了胜利,并改进了 RAM 容量有限或大量内存密集型活动的系统的一般行为。
从移动和嵌入式设备到强大的服务器,MGLRU 看起来对 Linux 非常有影响力。
MGLRU 已经随 Google Android 设备一起提供,并且还修补到 Google 的 Chrome OS 内核中。一些下游内核版本,如 XanMod、Liquorix 和 Arch Linux Zen 也在使用这个补丁集。Google 发现 MGLRU 在 Android 和 Chrome 操作系统上的使用非常值得:
我们已经向数千万 Chrome OS 用户和大约一百万 Android 用户推出了 MGLRU。谷歌的整体分析显示,kswapd CPU 使用率总体下降了 40%,此外,其他 UX 指标也有所改善,例如,在第 75 个百分位的低内存杀死数量减少了 85%,应用程序启动时间减少了 18%在第 50 个百分位。
MGLRU 补丁系列的 v11 re-base 继续携带此摘要:
总结
=======
事实是:
1. 独立实验室结果和实际应用表明有实质性改进;没有已知的回归。
2. 开箱即用的抖动预防、工作集估计和主动回收工作;没有等效的解决方案。
3. 新增大量代码;没有人表现出具有类似效果的较小变化。因此,我们的选择是:
1. 鉴于证据的数量,所报告的改进可能会在广泛的工作负载中实现。
2. 根据过去讨论的兴趣,新功能可能会同时用于个人计算机和数据中心。
3. 根据谷歌的记录,新代码很可能在长期内得到很好的维护。如果不是不可能,用其他替代品达到类似的效果会更加困难。
Linus Torvalds不希望 V5.18 版的 MGLRU 留出更多时间进行测试,所以如果现在认为该工作已准备好合并到 v5.19 中,我们将拭目以待。
请参阅v11 补丁系列,详细了解 Google 推出的这项激动人心的 Multi-Gen LRU 工作。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun166269.html