我有一个使用 Imagick 制作 2D 图像(假透视)的 3D 效果的功能。我必须一次处理大约 10-30 张图像,这就是问题所在。我担心 CPU 使用率,因为我的服务提供商限制了 60 秒的 CPU 使用率。
我想使用 CRON 每分钟生成例如 5 张图像。我已经考虑过其他解决方案 - 使用 sleep 让 CPU 休息一下。我是对的还是只是我的愚蠢想法?
你会怎么做?服务提供商是 OVH,服务是简单的托管。
对不起我的英语,来自波兰的克里斯 :)
我有同样的问题,想减少 imagemagick CPU 使用率......
首先,您可以尝试优化您使用它的方式,例如,如果可能的话: - 使用 API 包装器而不是命令行调用 - 在单个“转换”命令中执行多个转换 - ... 来源:http:// www.imagemagick.org/Usage/api/#speed
然后,为了控制 imagemagick 的 CPU 使用率,并对使用的系统资源(以及许多其他东西)施加限制,您可以设置一个安全策略文件来源:http ://www.imagemagick.org/script/security-policy.php
或者您可以尝试直接使用环境变量执行相同的操作,例如“MAGICK_THREAD_LIMIT=1”或“MAGICK_THROTTLE”(例如在系统环境中为命令行设置或直接在 PHP 脚本中设置)来源:http://www.imagemagick。 org/script/resources.php#environment
作为开始,请阅读这些有趣的帖子:http ://www.imagemagick.org/discourse-server/viewtopic.php?t=20130 http://www.azanweb.com/en/high-cpu-load -when-converting-images-with-imagemagick/
希望这会有所帮助!