回答:
以下で解決:
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
キャッシュを試しましたか?
マニュアルページから
-キャッシュしきい値
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.
私は以下を使用しています:
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
とディスク使用量が増えるようです。imagemagickがメモリとディスクを大量に使用しているのは奇妙に思われます...確かに一度に1ページしかレンダリングできないためです...しかし、並列処理が行われている可能性があります。
convert
ですか?「-limit type value pixel cache resource limit」しかありません。さらに、あなたの引用は「80Mbがデフォルトです」と言います、しかし私の変換はすべてのRAMを食べます:)