यदि आपके पास 16 GB RAM (और कुछ नहीं चल रहा है), तो आप कोशिश कर सकते हैं:
tar -cf - foo/ | xz --lzma2=dict=1536Mi,nice=273 -c - > foo.tar.xz
विघटन के लिए यह 1.5 GiB, और संपीड़न के लिए लगभग 11x की आवश्यकता होगी। स्मृति की कम मात्रा के अनुसार समायोजित करें।
यह केवल मदद मिलेगी अगर डेटा वास्तव में उस बड़ा है, और किसी भी मामले में यह मदद नहीं करेगा कि ज्यादा, लेकिन अभी भी ...
यदि आप बायनेरिज़ को संपीड़ित कर रहे हैं, तो पहले xz विकल्प के रूप में --x86 जोड़ें। यदि आप "मल्टीमीडिया" फ़ाइलों (असम्पीडित ऑडियो या बिटमैप्स) के साथ खेल रहे हैं, तो आप --delta = dist = 2 के साथ प्रयास कर सकते हैं (मूल्य के साथ प्रयोग, कोशिश करने के लिए अच्छे मूल्य 1..4 हैं)।
यदि आप बहुत रोमांच महसूस कर रहे हैं, तो आप अधिक LZMA विकल्पों के साथ खेलने की कोशिश कर सकते हैं, जैसे
--lzma2=dict=1536Mi,nice=273,lc=3,lp=0,pb=2
(ये डिफ़ॉल्ट सेटिंग्स हैं, आप 0 और 4 के बीच मान आज़मा सकते हैं, और lc + lp 4 से अधिक नहीं होना चाहिए)
यह देखने के लिए कि डिफ़ॉल्ट इन मानों के लिए कैसे निर्धारित करता है, आप स्रोत फ़ाइल src / liblzma / lzma / lzma_encoder_presets.c की जाँच कर सकते हैं। हालांकि इसमें बहुत ज्यादा रुचि नहीं है (-ई 273 की अच्छी लंबाई निर्धारित करता है और गहराई को भी समायोजित करता है)।
man 1 xz
कहना हैit'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.
।