欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-05-29 18:03:04
...

假如把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%.所以一定要使用它的单线程程模式才行.

解決imagick在多线程运行时导致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