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

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

WBOY
WBOYOriginal
2016-06-13 12:28:10892browse

解決 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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn