当前位置: 代码迷 >> PHP >> 解決 imagick 在 多线程运行时招致CPU暴增到100%的方法
  详细解决方案

解決 imagick 在 多线程运行时招致CPU暴增到100%的方法

热度:640   发布时间:2016-04-28 16:43:59.0
解決 imagick 在 多线程运行时导致CPU暴增到100%的方法

假如把imagic 安装到 /usr/local/imagemagick 目录

首先用/usr/local/imagemagick/bin/convert -version指令查看一下输出內容是否已经开启了多线程,Features:的值为空或DPC 说明是单线程,如果Features:的值是openMP说明是多线程.imagick的多线程模式有一個bug,他会导致多核心的cpu使用率瞬间飙升到100%.所以一定要使用它的单线程程模式才行.

 上边是我配置正确时显示的结果,如果沒有配置正确会显示下边的结果

Version: ImageMagick 6.8.9-10 Q16 x86_64 2015-12-28 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: openMP

 第一种结果是单线程模式,第二种结果是多线程模式,因为imagick的多线程模式有bug,所以如果您刚开始是用多线程模式安裝的imagick那就必须要yum remove imagemagick將其卸载掉重新安裝才行.

只需在安装时加入下面的红色字体部分就可以

./configure --prefix=/usr/local/imagemagick --disable-openmp