*-> PNG変換にはImageMagickのconvert
をよく使用しますが、PDFが50ページを超える場合— convert
は3 Gib(!!! )のメモリ。私はそれが最初にすべてをロードすると思います。
それは受け入れられません。 PDFページごとに読む必要があります。なぜそれらすべてを一度にまとめるのですか?
どういうわけかそれを調整する方法があるのでしょうか?または何か良い選択肢はありますか?
以下で解決:
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
私は以下を使用しています:
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
キャッシュを試しましたか?
マニュアルページから
-キャッシュしきい値
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.