在 Linux 上创建档案时使用所有 CPU

在 Linux 上创建档案时使用所有 CPU

今天我想从一台拥有 16 个 CPU 的服务器上的文件夹创建备份。我开始寻找一种可以比 tar 更好地利用硬件来存档文件夹的选项。可能具有多线程支持。我做了一些研究,发现有 pbzip2 和 pigz 等工具,但它们只能压缩,不能存档。那么你们有解决这个问题的优雅解决方案吗?

答案1

归档本身是 I/O 密集型的,不会从多核中获益。将 tar 的未压缩输出提供给您找到的某个程序。

编辑:

tar -cO /directory/path | whizbang -compress --ultra-brute --cpus=16

根据速度与尺寸偏好,将 whizbang 替换为您最喜欢的压缩机

答案2

伊格纳西奥说...但是-O为了提取文件到标准输出...

因此,我的建议是:

tar cf - /directory/path | whizbang -compress --cpus=16 > archive.tar.whizbang

当然,下一步就是催促维护者tar在下一个版本中加入 whizbang 支持。;-)

相关内容