在我的本地机器上,我编写了一个脚本,多次使用ImageMagick的转换。最常用的命令之一是:
convert -size 4200x5100 xc:blue sth.jpg
。在我的本地机器上,它运行了大约15秒,这是可以的。它不会占用太多的资源。
当我将程序部署到两个不同的服务器上时,它们开始非常有力地使用磁盘,同样的运行大约需要9秒,而不是1秒。
我发现它在服务器上创建了一个文件(文件名像:/tmp/magic - 30416rf1ugkxsk3ms),它正好是250.000.000字节大。
在本地机器上,这个文件不会被创建。
版本如下:本机:笔记本电脑,Ubuntu 16.04,联想t440。IM/convert version: 6.8.9-9
Server1: debian 10.8,周新安装,vps, IM/转换版本:6.9.10-23
Server2:物理机,debian 9.6, IM/convert版本:6.9.7-4
.
我的问题是什么会导致本地机器和服务器之间的巨大差异?我怎样才能防止ImageMagick创建这个巨大的临时文件?
还是6.9版本的新功能?
我需要在/etc/imagemagick -6/policy.xml文件中增加area和/或map和/或memory的值。这会解决问题的。