ImageMagick използва повече от 2 GB памет за конвертиране на PDF файлове

ImageMagick използва огромни количества памет за конвертиране на PDF файлове - повече от 2 GB. Командата, която използвам е:

convert -density 250 -resize 1280x myfile.pdf -interlace plane -strip -quality 40 -alpha flatten myfolder/myfile-%03d.jpg

Как може да се подобри това? Имам ограничение от 1 GB, в противен случай процесът се убива безмилостно. ):


person MaiaVictor    schedule 13.03.2013    source източник


Отговори (1)


Използвайте опцията за ограничаване на паметта.

Използването на опцията е показано тук:

http://www.imagemagick.org/script/command-line-options.php#limit

-лимит тип стойност

Задайте лимит на ресурса на кеша на пикселите.

Изберете от: area, disk, file, map, memory, threads или time.

Стойността за file е в брой файлове. Другите ограничения са в байтове. Дефинирайте аргументи за ограниченията на паметта, картата, областта и дисковия ресурс със SI префикси (напр. 100MB).

По подразбиране ограниченията са 768 файла, 3GB област на изображението, 1,5GiB памет, 3GiB карта на паметта и 18,45EB диск. Тези ограничения се коригират спрямо наличните ресурси на вашия компютър, ако тази информация е налична. Когато бъде достигнат някакъв лимит, ImageMagick се проваля по някакъв начин, но се опитва да предприеме компенсиращи действия, ако е възможно. Например, следното ограничава паметта:

-ограничена памет 32MiB -ограничена карта 64MiB

person Randy Howard    schedule 13.03.2013
comment
Това не работи. Получавам грешка, която сочи, че не може да разпредели достатъчно ресурси. - person MaiaVictor; 13.03.2013
comment
Това е примерен набор от стойности от техните документи за опция за команден ред. Може да се наложи да използвате по-високи лимити от тези за вашата конкретна употреба, настройки за качество и т.н. Например, опитайте нещо, което ще го поддържа под ограничението от 1 GB, което сте посочили във вашия въпрос първоначално. Ако все още се нуждае от повече от това, може да се наложи да понижите качеството на преобразуването, за да се побере в количеството RAM, което можете да използвате във вашия процес. - person Randy Howard; 13.03.2013
comment
Това работи за мен. convert ще бъде убит и ще изпитвам периодично замръзване при извикване на convert *.png out.pdf. Все още се случват периодични замръзвания, но по-леки. Освен това зададох ` -limit thread 2` - person Michael Franzl; 20.04.2014