【发布时间】:2013-09-01 20:09:13
【问题描述】:
我有一个非常大的文件夹,我想 gzip 并将它们拆分为存档:
#!/bin/bash
dir=$1
name=$2
size=32000m
tar -czf /dev/stdout ${dir} | split -a 5 -d -b $size - ${name}
有没有办法通过 gnu 并行来加快速度? 谢谢。
【问题讨论】:
-
I/O 通常不可并行化。
-
尝试使用 7-zip 代替其选项
-mmt。 -
我使用的是 Lustre 并行文件系统,IO 不是问题。
-
@Arman 输出仍然必须按顺序排列,因此即使您划分任务,压缩块仍必须对齐才能使用拆分进行处理。
-
是的,这是第一个想法。然后,如果其中一个拆分文件损坏,则需要再次完成整个数据集。:(。顺便说一句,您的回答是在 16 核机器上已经加速了大约 10 倍。
标签: bash parallel-processing split gnu tar