腾讯的 Kairui Song 连夜发布了一系列新补丁,旨在增强 Linux 内核的交换代码。通过这些补丁,可以节省一些内存——而且未来还将有更多改进——同时提供略微更快的性能。
该补丁系列移除了静态的”swap_map”,并直接使用交换表来计算交换次数。这节省了大约 30%的静态交换元数据内存使用量,当挂载一个 1TB 的交换设备时,这相当于节省了 256MB 的内存……当然,使用 1TB 的交换设备在除了某些非常大的服务器设置之外并不常见。
预计通过一些正在进行的工作,另一轮交换/内存管理补丁将节省大约 512MB 的内存。

除了交换元数据内存的节省外,当系统处于全局内存压力时,性能略有提升。在一些较小的 x86_64 和 ARM64 虚拟机(RAM 有限)上,内存压力下的内核构建速度提高了 1.6%至 2.4%。使用该补丁系列,Redis/Valkey 的速度也提高了约 1.5%。
对此工作感兴趣的人可以在 Linux 内核邮件列表上找到这些最新的交换/内存补丁供审阅。
转自 New Patches Aim To Lower Linux Memory Use For Swap, Slightly Improve Performance – Phoronix
Linuxeden开源社区