I've got a machine with a wimpy CPU, only 1G of ram, and a 10Tb of disk space. I'd like to make a very reliable backup of what's stored on this machine.

As part of this I'd like to create par2 files for my backup archives before sending them up to amazon glacier.

As a preliminary test I ran par2 on a a 40G file. It only used 1% of ram, and it took a few hours.

So my question is: When I run par2 on a 900G file, what's going to happen? Is par2's memory usage bounded or is it linear or worse in the size of the file? Is it's CPU usage linear or worse?

I realize I could just try it, but since the best case scenario is this is going to take several days to run, I thought I'd ask if what I'm doing is silly or not before I try it.

  • PAR2 speed is driven by number of blocks. So the smaller you make your blocks, the longer it will take. – tgharold Jun 13 '16 at 14:31

There are several implementations of par2, varying in performance.

I used ParPar, which is an implementation designed for use with Node.JS but it does provide a standalone command line tool (parpar.js). They say it's in active development so it might not be stable right now.

It showed to be at least an order of magnitude faster than par2cmdline. 230 GB in about 2 hours on a i7 laptop, using 32768 blocks.

Regarding memory use, you can specify it on the command line. More will be faster (8G in my example), but it will work with 64M.

This is the commandline I used to generate 2% recovery data for current directory, recursively:

 ~/code/ParPar/bin/parpar.js -b 32768 -t4 -m8192M --min-chunk-size 8M -r2% -R -o pardata -- .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.