好的,我知道这听起来很疯狂,但请耐心等待......
我正在运行Ubuntu 16云计算机。发生一系列背景过程,拉动图像,并进行一些复杂的Imagemagick操作,然后使用FFMPEG制作这些图像的视频。并且每个图像重复该过程。总的来说,它运作良好,而且很流畅。 该服务器还包含一个Flask应用程序,它包含此过程结果的前端。
然而,转换模块有时会停滞不前。在Top中查看时,CPU使用率下降到25%,就在那里。没有创建图像,它只是无休止地坐在那里。如果我终止转换,并重新启动图像处理,则下一个图像处理将停止。没有错误代码,它只是无休止地坐在那里。
总的来说,这是非常稀缺的,但这是我可以重现它的一种方式,它运行的过程中有一个非常大的图像(10,000像素)。
让流程重置'的唯一方法是杀死转换,并重新启动Apache。只有在我重新启动Apache之后,管道才会再次运行。
到底发生了什么事? Apache与Imagemagick有什么关系?!
非常感谢任何帮助或见解。
答案 0 :(得分:2)
你显然资源不足。您可以通过
限制“转换”尝试获取的资源量 -limit resource
选项
请参阅http://imagemagick.org/script/command-line-options.php#limit
在policy.xml文件中设置限制
请参阅http://imagemagick.org/script/resources.php
我可能首先使用-limit resource
选项,然后当我对结果感到满意时,写一个包含默认限制的policy.xml文件作为永久解决方案,直到我得到一台可以处理的更大的机器有更大的限制。