增加 imagemagick 内存/磁盘限制

增加 imagemagick 内存/磁盘限制

我发现我无法将 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 可用磁盘空间。

答案1

解释如何在文件中指定限制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。

相关内容