zaLinux.ru

Ошибка «convert: cache resources exhausted» (РЕШЕНО)


При использовании утилиты convert для конвертации изображений, вы можете столкнуться с ошибкой в которой говориться, что ресурсы кэша исчерпаны.

Пример команды:

convert -density 300 -quality 100 input.pdf output.png

Пример вызываемой её ошибки:

convert-im6.q16: cache resources exhausted `/tmp/magick-q7O_IcbbGpFULs5R34rLlwAyeW1slGHi19' @ error/cache.c/OpenPixelCache/4095.

Данная ошибка возникает при сочетании двух условий:

  • обработка файла большого размера (например, при конвертации PDF в JPG)
  • слабый компьютер с небольшим количеством оперативной памяти

В качестве быстрого решения вы можете попробовать уменьшить качество изображения:

convert -density 150 -quality 70 input.pdf output.png

Опция -density определяет горизонтальную и вертикальную плотность изображения, то есть количество точек. Обычно для сканирования фотографий устанавливают настройку в 300 точек — этого достаточно для хорошего качества изображения для просмотра на экране монитора и для его печати. Вы можете поэксперементировать выбрав более низкое значение.

Опция -quality определяет уровень сжатия JPEG/MIFF/PNG. Значение опции 100 означает без сжатия, 100% качества изображения. Значение опции 70 означает 70% качества изображения за счёт уменьшения его размера.

Если вы не хотите уменьшать качество, то вы можете попробовать поменять настройки. Для этого откройте файл policy.xml. В зависимости от вашего дистрибутива и версии ImageMagick путь до файла может различаться, например:

  • /etc/ImageMagick-6/policy.xml
  • /etc/ImageMagick-7/policy.xml

Найдите и отредактируйте значение строки:

<policy domain="resource" name="memory" value="256MiB"/>

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован.