ইমেজম্যাগিকের `রূপান্তর` ইউটিলিটি পিডিএফ ইনপুট সহ * খুব বেশি * মেমরি নেয়


11

আমি প্রায়শই convert* -> পিএনজি রূপান্তরকরণের জন্য ইমেজম্যাগিক্স ব্যবহার করি তবে পিডিএফের 50 টিরও বেশি পৃষ্ঠাগুলি থাকে - তখন convert3 গিগ (!!!) মেমরি বেশি খায়। আমার ধারণা এটি প্রথমে সমস্ত কিছু বোঝায়।

এটা অগ্রহণযোগ্য। এটি পৃষ্ঠায় পিডিএফ পৃষ্ঠাটি পড়া উচিত, কেন হ্যাকগুলি তাদের সকলের একবারে!

এটি কোনওভাবে সুর করার উপায় আছে? নাকি কোনও ভাল বিকল্প?

উত্তর:


10

নিম্নলিখিতগুলির সাথে সমাধান করা:

cat <<EOF > /etc/profile.d/ImageMagick.sh
# Set ImageMagick memory limits: it eats too much
export MAGICK_MEMORY_LIMIT=1024 # Use up to *MB of memory before doing mmap
export MAGICK_MAP_LIMIT=1024    # Use up to *MB mmaps before caching to disk
export MAGICK_AREA_LIMIT=4096   # Use up to *MB disk space before failure
export MAGICK_FILES_LIMIT=1024  # Don't open more than *file handles
EOF

9

আপনি ক্যাশে চেষ্টা করেছেন?

ম্যান পেজ থেকে

- ক্যাশে থ্রেশহোল্ড

      megabytes of memory available to the pixel cache.

      Image pixels are stored in memory until 80 megabytes of
      memory have been consumed.  Subsequent pixel operations

      are cached on disk.  Operations to memory are  significantly 
      faster but if your computer does not have a sufficient 
      amount of free memory you may  want  to  adjust
      this threshold value.

1
এটি কি বিকল্প convert? আমার কাছে কেবলমাত্র "-পালিট প্রকারের মান পিক্সেল ক্যাশে সংস্থান সীমা"। এছাড়াও আপনার উক্তিটি "80 এমবি ডিফল্ট" বলে, তবে আমার রূপান্তরটি সমস্ত র্যাম খায় :)
কলিপ্টো

80Mb ডিফল্ট হতে পারে যদি আপনি কেবল কোনও মান অনুসরণ না করে-ক্যাশে যুক্ত করেন।
শিকোরু

1
হুম, আমার ইমাগিকের স্মৃতিটি 64 এমবি-তে সীমাবদ্ধ করতে কেবল "-প্লিট মেমরি 64" রয়েছে। এটি কার্যকর, যাইহোক ধন্যবাদ! :)
কলিপ্টো

2
পাওয়া গেছে: "ক্যাশে <থ্রেডহোল্ড> (এই বিকল্পটি প্রতিস্থাপন বিকল্প দ্বারা প্রতিস্থাপন করা হয়েছে)"
কলিপ্টো

1
@ কোলিপ্টো আমার ব্যাখ্যায় ইমেজম্যাগিক ওয়েবসাইটগুলি বলে যে ডিফল্ট ইউনিটটি বাইট হয়: "ফাইলের মান ফাইলের সংখ্যায় other অন্যান্য সীমাটি বাইটে হয় SI উপসর্গ (.eg 100MB)। " imagemagick.org/script/command-line-options.php#limit
thomasa88

9

আমি নিম্নলিখিত ব্যবহার করছি:

convert -limit memory 64 -limit map 128 original.djvu newfile.pdf

আমার মূল ড্রাইভে সীমিত স্থান রয়েছে, তাই আমি একটি পরিবর্তনশীল প্রিপেন্ড করি

env MAGICK_TMPDIR=/host/Temp convert -limit memory 64 -limit map 128 original.djvu newfile.pdf

ব্যবহার করা -limitডিস্কের ব্যবহার ধাক্কা যখন আমি এটা ব্যবহার করলো। এটিকে অদ্ভুত বলে মনে হচ্ছে যে চিত্রগ্রাহক যতটা মেমরি এবং ডিস্ক ব্যবহার করছেন ততই ... যেহেতু অবশ্যই একবারে কেবল একটি পৃষ্ঠা সরবরাহ করা যায় ... তবে আমার ধারণা এখানে কিছুটা সমান্তরালতা চলছে।
এট রিগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.