情况:我有一个更大(>10GB)的只读小文件集合,其中包含大量重复项,我需要在多台计算机上(甚至在不同的文件系统上)使用这些重复项。我们可以假设 Linux 内核 > 5.3.0。
一种解决方案是将它们放入 squashfs 映像文件中,在创建它时使用重复数据删除和 zstd 压缩,然后安装它。现在,只有当安装并不意味着所有文件都需要适合 RAM 时,这才对我有用。
像这样安装压缩的squashfs 文件系统总是需要完全解压到RAM 吗?
答案1
挂载 squashfs 文件系统并不需要将其解压到内存中;而是需要将其解压到内存中。根据需要,减压是即时完成的。有一个小的内部缓存以避免重复解压缩相同的数据,但仅此而已。
squashfs 文件系统最多可以存储 2 64字节的数据,因此在挂载时完全解压它们是不切实际的。