首頁  >  文章  >  php教程  >  解決imagick在多线程运行时导致CPU暴增到100%的方法

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

WBOY
WBOY原創
2016-07-06 13:30:511896瀏覽

假如把imagic 安装到/usr/local/imagemagick 目录 首先用/usr/local/imagemagick/bin/convert -version指令查看一下输出內容是否已经开启了多线程,Features:的值为 空或DPC 说明是单线程,如果Features:的值是openMP说明是多线程.imagick的多线程模式有一個bu

假如把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


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn