Phako wrote:
I created 2% fec file of a 14.5 GB tar.lz on a NAS server (4 cores Xeon
E3-1220 V2 with 8 GB of RAM and 8 GB of swap). I didn't time it, but it
took more than 2 hours.

What is the output of 'lziprecover -Fl <fec_file>'?
At default fragmentation level (-9) I guess <fec_file> contains about 1100 FEC blocks of 256 KiB each. This is a lot of work:

http://www.nongnu.org/lzip/manual/lziprecover_manual.html#Implementation-details
"The number of FEC blocks is currently limited to 2048 because of memory and time limits. Inverting a matrix for 32768 FEC blocks would take a week and require 2 GiB of RAM. "

You may try fragmentation level -7 or -6.

After that I try to test the resulting files ( lziprecover -Ft ) on a VM
with 8GB of RAM but no swap and the test fails immediately with a memory
allocation error.

What memory allocation error? "Can't mmap: Cannot allocate memory" or "Not enough memory"?

Lziprecover uses mmap because it needs access to the whole file and "it is possible to mmap files orders of magnitude larger than both the physical memory and swap space."[1] Maybe the problem is that the VM you are using also limits the address space available to mmap.

[1] https://sourceware.org/glibc/manual/latest/html_node/Memory_002dmapped-I_002fO.html

Does memory requirement also change with the fragmentation level?

Not much. It varies with block size, which is usually small compared with the size of the protected file.

Best regards,
Antonio.

Reply via email to