답변:
다음과 같이 해결되었습니다.
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이 많은 양의 메모리와 디스크를 사용하고있는 것은 이상합니다. 한 번에 한 페이지 만 렌더링 할 수 있기 때문에 ... 병렬 처리가 진행될 수 있습니다.
convert
입니까? "-limit type value pixel cache resource limit"만 있습니다. 플러스 인용, "80MB의 기본이다"라고하지만 내 변환 먹는 모든 RAM :