我发现我无法将 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。