Limit space and memory used by Imagemagick

血红的双手。 提交于 2019-12-25 04:13:13

问题


I'm used Imagemagick on a rails application (with rmagick) but my server (Ubuntu) it's not very big and when i launch my convert process Imagemagick take all place/memory of my server (30GB HDD).

I would like limit the memory and the tmp file size, how can i do it ?


回答1:


Try running the command

identify -list resource

to see the resources you can control/limit. It gives this:

Resource limits:
  Width: 214.7MP
  Height: 214.7MP
  Area: 4.295GP
  Memory: 2GiB       <--- Default is 2 GiB
  Map: 4GiB
  Disk: unlimited
  File: 1920
  Thread: 1
  Throttle: 0
  Time: unlimited

Then you can control the memory using commands like this for both convert and identify and mogrify

identify -limit memory 1GiB -list resource
Resource limits:
  Width: 214.7MP
  Height: 214.7MP
  Area: 4.295GP
  Memory: 1GiB         <--- 1 GiB for duration of this command
  Map: 4GiB
  Disk: unlimited
  File: 1920
  Thread: 1
  Throttle: 0
  Time: unlimited

So, as you can see above, I limited memory to 1GB for the one command.

Equally, you can limit memory for convert with

convert -limit memory 1GiB -size ... file.png

You can also set the memory limit in an environment variable, single-shot, like this:

MAGICK_MEMORY_LIMIT=30000 identify -list resource
Resource limits:
  Width: 214.7MP
  Height: 214.7MP
  Area: 4.295GP
  Memory: 29.3KiB
  Map: 4GiB
  Disk: unlimited
  File: 1920
  Thread: 1
  Throttle: 0
  Time: unlimited

or like this for the rest of the session:

export MAGICK_MEMORY_LIMIT=500000
identify -list resource

Resource limits:
  Width: 214.7MP
  Height: 214.7MP
  Area: 4.295GP
  Memory: 488KiB
  Map: 4GiB
  Disk: unlimited
  File: 1920
  Thread: 1
  Throttle: 0
  Time: unlimited

Kurt also offers some great advice here.




回答2:


$ man ulimit

Read about the -f entry and do:

$ ulimit -f 1024000
$ convert blah blah blah
$ ulimit -f <usual-value>

should limit the convert process to writing a 1G file. Be sure to restore the original value afterward.



来源:https://stackoverflow.com/questions/31387932/limit-space-and-memory-used-by-imagemagick

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!