我正在尝试对一个包含约 3M 个小文件的目录进行 tar 打包。Tar 正在缓慢运行,但我认为它需要的时间比我能等待的要长。
我想知道是否告诉 tar 不存储元数据(所有者、组、权限)会减少读取和重新读取这个巨大目录的次数,并可能加快速度,以及是否有一个 tar 开关可以做到这一点。
我最初浏览手册页时只得到了类似--no-xattrs的内容,这看起来像是一个开始,但我希望有人有一些特定的知识。
答案1
我认为底层文件系统的性能可能与您从 tar 中获得的结果有很大关系。
您正在读取的文件系统是什么,以及文件有多小?
答案2
您可以尝试在 tar 和输出文件之间添加 mbuffer。我刚刚了解到这一点,它对我的传输很有帮助。
例如 tar -c dir | mbuffer > output.tar
如果速度缓慢确实是由于磁盘或文件系统限制造成的,那么可能无济于事。