Jika Anda memiliki 16 GiB RAM (dan tidak ada yang berjalan), Anda dapat mencoba:
tar -cf - foo/ | xz --lzma2=dict=1536Mi,nice=273 -c - > foo.tar.xz
Ini akan membutuhkan 1,5 GiB untuk dekompresi, dan sekitar 11xb untuk kompresi. Sesuaikan dengan itu untuk jumlah memori yang lebih sedikit.
Ini hanya akan membantu jika data sebenarnya yang besar, dan dalam hal apapun tidak akan membantu BAHWA banyak, tapi masih ...
Jika Anda mengompresi binari, tambahkan --x86 sebagai opsi xz pertama. Jika Anda bermain dengan file "multimedia" (audio atau bitmap yang tidak terkompresi), Anda dapat mencoba dengan --delta = dist = 2 (percobaan dengan nilai, nilai yang baik untuk dicoba adalah 1..4).
Jika Anda merasa sangat suka berpetualang, Anda bisa mencoba bermain dengan lebih banyak opsi LZMA
--lzma2=dict=1536Mi,nice=273,lc=3,lp=0,pb=2
(ini adalah pengaturan default, Anda dapat mencoba nilai antara 0 dan 4, dan lc + lp tidak boleh melebihi 4)
Untuk melihat bagaimana preset default memetakan nilai-nilai ini, Anda dapat memeriksa file sumber src / liblzma / lzma / lzma_encoder_presets.c. Tidak ada yang menarik di sana (-e menetapkan panjang yang bagus untuk 273 dan juga menyesuaikan kedalaman).
man 1 xz
katait'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 untuk info lebih lanjut.