好吧,我知道这听起来很疯狂,但请耐心等待......
我正在运行 Ubuntu 16 云计算机。发生一堆后台进程来提取图像,并执行一些复杂的 Imagemagick 操作,然后使用 FFMPEG 制作这些图像的视频。并且对每个图像重复该过程。总的来说,它运行得很好,而且很流畅。 该服务器还包含一个 Flask 应用程序,它包含此过程结果的前端。
但是,转换模块有时会停止运行。在 Top 中查看时,CPU 使用率下降至 25%,并且一直保持不变。图像不是被创造出来的,它只是无休止地坐在那里。如果我终止转换并重新启动图像进程,则下一个图像进程将停止。没有错误代码,它只是无休止地坐在那里。
总体而言,它非常分散,但这是我可以重现它的一种方法,即使用非常大的图像(跨度为 10,000 像素)运行该过程。
“重置”进程的唯一方法是终止转换,然后重新启动 Apache。只有在我重新启动 Apache 后,管道才会再次工作。
这到底是怎么回事? Apache 和 Imagemagick 有什么关系?!
任何帮助或见解将不胜感激。
最佳答案
您的资源显然已经耗尽。您可以通过以下方式限制“转换”尝试获取的资源量
-限制资源
选项
请参阅http://imagemagick.org/script/command-line-options.php#limit在policy.xml文件中设置限制
请参阅http://imagemagick.org/script/resources.php
我可能会首先使用 -limit resources
选项,然后当我对结果感到满意时,编写一个包含默认限制的policy.xml文件作为永久解决方案,直到我得到一个更大的机器可以处理更大的限制。
关于python - Apache 停止 Imagemagick Convert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41785466/