Si vous avez 16 Go de RAM (et rien d’autre en cours), vous pouvez essayer:
tar -cf - foo/ | xz --lzma2=dict=1536Mi,nice=273 -c - > foo.tar.xz
Cela nécessitera 1,5 Gio pour la décompression et environ 11 x pour la compression. Ajustez en conséquence pour moins de mémoire.
Cela ne vous aidera si les données sont en fait que les grandes, et en tout cas , il ne sera pas utile QUE beaucoup, mais quand même ...
Si vous compressez des fichiers binaires, ajoutez --x86 en tant que première option xz. Si vous jouez avec des fichiers "multimédia" (audio non compressé ou bitmaps), vous pouvez essayer avec --delta = dist = 2 (expérimentez avec value, les bonnes valeurs à essayer sont 1..4).
Si vous vous sentez très aventureux, vous pouvez essayer de jouer avec plus d’options LZMA, comme
--lzma2=dict=1536Mi,nice=273,lc=3,lp=0,pb=2
(Ce sont les paramètres par défaut, vous pouvez essayer des valeurs comprises entre 0 et 4, et lc + lp ne doit pas dépasser 4)
Pour voir comment les préréglages par défaut correspondent à ces valeurs, vous pouvez consulter le fichier source src / liblzma / lzma / lzma_encoder_presets.c. Rien d’intérêt là-bas cependant (-e fixe la longueur à 273 et ajuste également la profondeur).
man 1 xz
ditit's not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1).
-7 ... -9 [...] These are useful only when compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, respectively.
RTFM pour plus d’informations.