كيف يمكنني القطران ملفات أكبر من الذاكرة الفعلية باستخدام بيرل أرشيف::القطران ؟

StackOverflow https://stackoverflow.com/questions/653127

  •  19-08-2019
  •  | 
  •  

سؤال

أنا باستخدام بيرل أرشيف::القطران وحدة نمطية.المشكلة مع ذلك هو يسحب كل شيء على الذاكرة و لا الأرشفة ثم يكتب على نظام الملفات حتى لا يكون هناك قيود على الحد الأقصى لحجم الملف الذي يمكن أرشفة.أكثر من مرة يقول من الذاكرة.في حالة جنو القطران ، فإنه يأخذ قطعة من ملفات المحفوظات و يكتب على ذكرى لذلك يمكن التعامل مع الملفات من أي حجم.كيف يمكنني القيام بذلك باستخدام بيرل أرشيف::القطران وحدة.

هل كانت مفيدة؟

المحلول

ويبدو ان هناك وحدة نمطية مختلفة التي لا تستخدم بنية في الذاكرة: <لأ href = "http://search.cpan.org/dist/Archive-Tar-Streamed/lib/Archive/Tar /Streamed.pm "يختلط =" noreferrer "> الأرشيف :: :: قطران المتدفقة . الجانب السلبي هو أنه يتطلب القطران لتكون متاحة على نظام تشغيل عليه. ومع ذلك، فإنه أفضل من دمية التوتير القطران نفسك.

نصائح أخرى

يبدو أرشيف::القطران::المجمع هو أفضل رهان.لقد جربت ذلك بنفسي ، ولكنه يستخدم النظام الخاص بك tar للتنفيذ و لا تبقى الملفات في الذاكرة.

خلافا شاس.أوين الجواب ، أرشيف::القطران::المتدفقة لا الحفاظ على ملفات في الذاكرة ، لا استخدام النظام الخاص بك tar.فإنه يستخدم في الواقع أرشيف::القطران داخليا, ولكن العمليات ملف واحد في وقت واحد (الاستفادة من حقيقة أن القطران المحفوظات يمكن أن تكون متصلا).وهذا يعني أن الأرشيف::القطران::المتدفقة يمكن التعامل مع المحفوظات أكبر من الذاكرة ، طالما أن كل ملف في أرشيف تناسب في الذاكرة.ولكن هذا ليس ما طلبته.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top