Imagemagick

增加 imagemagick 記憶體/磁碟限制

  • December 11, 2016

我發現我無法將 imagemagick 的記憶體/映射/磁碟限制增加到目前值之上:

$ identify -list resource
Resource limits:
 Width: 16KP
 Height: 16KP
 Area: 128MP
 Memory: 256MiB
 Map: 512MiB
 Disk: 1GiB
 File: 768
 Thread: 4
 Throttle: 0
 Time: unlimited

雖然我可以減少上述值的限制,但我不能增加它們:

$ identify -limit memory 128MiB -list resource | grep Mem
 Memory: 128MiB
$ identify -limit memory 512MiB -list resource | grep Mem
 Memory: 256MiB
$ MAGICK_DISK_LIMIT=0.2GiB identify -list resource | grep Disk
 Disk: 204.8MiB
$ MAGICK_DISK_LIMIT=2GiB identify -list resource | grep Disk
 Disk: 1GiB

如何增加高於預設值?我的系統有 8 GB 的 RAM、8 GB 的交換空間,並且至少在某些分區上還有數百 GB 的可用磁碟空間。

本頁解釋瞭如何在文件中指定限制,該文件policy.xml多個目錄中查找:

$MAGICK_CONFIGURE_PATH
$PREFIX/etc/ImageMagick-7 
$PREFIX/share/ImageMagick-7 
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/etc/ImageMagick

$PREFIX取決於您的分佈,可能是/usr/local. 將 7 替換為您發布的主要版本,如identify --version. 我的分佈式策略文件/etc/ImageMagick-6/policy.xml的所有值都被註釋掉了(用 xml <!-- -->),例如

<!-- <policy domain="resource" name="memory" value="2GiB"/> -->

因此,例如,對於 4G 記憶體,記憶體限制為 3.7499GiB。

引用自:https://unix.stackexchange.com/questions/329530