我的机器 CPU 很差,内存只有 1G,磁盘空间只有 10Tb。我想对这台机器上存储的内容进行非常可靠的备份。
作为其中的一部分,我想在将我的备份档案发送到亚马逊冰川之前为其创建 par2 文件。
作为初步测试,我在 40G 文件上运行了 par2。它只占用了 1% 的内存,并且运行了几个小时。
所以我的问题是:当我对 900G 文件运行 par2 时,会发生什么? par2 的内存使用量是否有界,还是与文件大小呈线性关系或更糟?它的 CPU 使用率是线性的还是更糟?
我知道我可以尝试一下,但由于最好的情况是这将需要几天的时间才能完成,所以我想在尝试之前问问自己所做的事情是否愚蠢。
答案1
par2 有几种实现,性能各异。
我用了帕帕尔,这是一个专为 Node.JS 设计的实现,但它确实提供了一个独立的命令行工具 (parpar.js)。他们说它正在积极开发中,所以现在可能还不稳定。
事实证明它至少比 par2cmdline 快一个数量级。在 i7 笔记本电脑上,使用 32768 个块,大约 2 个小时就可以加载 230 GB。
关于内存使用,您可以在命令行中指定。内存越多速度越快(在我的示例中为 8G),但 64M 即可。
这是我用来递归生成当前目录 2% 恢复数据的命令行:
~/code/ParPar/bin/parpar.js -b 32768 -t4 -m8192M --min-chunk-size 8M -r2% -R -o pardata -- .