在对包含小文件的巨大目录进行 tar 打包时,有什么技巧可以加快 tar 速度?

在对包含小文件的巨大目录进行 tar 打包时,有什么技巧可以加快 tar 速度?

我正在尝试对一个包含约 3M 个小文件的目录进行 tar 打包。Tar 正在缓慢运行,但我认为它需要的时间比我能等待的要长。

我想知道是否告诉 tar 不存储元数据(所有者、组、权限)会减少读取和重新读取这个巨大目录的次数,并可能加快速度,以及是否有一个 tar 开关可以做到这一点。

我最初浏览手册页时只得到了类似--no-xattrs的内容,这看起来像是一个开始,但我希望有人有一些特定的知识。

答案1

我认为底层文件系统的性能可能与您从 tar 中获得的结果有很大关系。

您正在读取的文件系统是什么,以及文件有多小?

答案2

您可以尝试在 tar 和输出文件之间添加 mbuffer。我刚刚了解到这一点,它对我的​​传输很有帮助。

例如 tar -c dir | mbuffer > output.tar

如果速度缓慢确实是由于磁盘或文件系统限制造成的,那么可能无济于事。

相关内容