Linux|Zstd显著提升Linux内核镜像压缩效率 5.9版有望将其合并进主线

Facebook 工程师 Nick Terrell 近日向 Linux 内核提交了使用 Zstd 压缩 Linux 内核镜像的补丁 , 这些补丁显示了使用 Zstd 对内核、ramdisk 和 initramfs 进行压缩操作具备巨大潜力 。
【Linux|Zstd显著提升Linux内核镜像压缩效率 5.9版有望将其合并进主线】Linux|Zstd显著提升Linux内核镜像压缩效率 5.9版有望将其合并进主线
文章图片

Nick 发现 , 在 x86_64 硬件上 , 当初始 RAM 文件系统将压缩算法从 XZ 切换到 Zstd 时 , 解压时间从 12 秒下降到只需 3 秒 , 此次切换整体上还给系统的引导时间带来了两秒的改进 。同样看到较大改进的场景包括从 LZMA 切换到 Zstd , Nick 在切换至 Zstd 的 Facebook 服务器上发现解压时间从 12 秒下降到了 8 秒 。
相关基准测试结果可查看 https://lkml.org/lkml/2020/7/1/722
至于压缩率 , Zstd 的压缩率要比内核使用的 Gzip 低 , 但比 XZ 和 LZMA 高 。不过 Zstd 是除了 LZ4 之外 , 解压速度最快的算法 。
根据目前的情况来看 , 内核对 Zstd 的支持有望在下一个版本中(Linux Kernel 5.9)实现 。一旦 Zstd 进入内核主线 , Nick 的后续计划是放弃对 BZ2 和 LZMA(1) 的支持 。这将有助于清理更多的内核代码 , 因为 Bzip2 和 LZMA 目前并没有在内核树之外的其他地方使用 。


    推荐阅读