ImageMagick 解决多线程(openMP)运行时导致CPU暴增到100%的方法

来源:互联网 发布:软件开发设计文档 编辑:程序博客网 时间:2024/05/14 14:50

发现问题在于新版本的 ImageMagick 启用了OpenMP,默认开启多线程处理,导致cpu占用过高。convert占用cpu很高

首先用/usr/local/imagemagick/bin/convert -version指令查看一下输出內容是否已经开启了多线程,Features的值为空或DPC,说明是单线程;如果Features的值是openMP,说明是多线程。

imagick的多线程模式有一個bug,他会导致多核心的cpu使用率瞬间飙升到100%。所以一定要使用它的单线程程模式才行。

解决办法:
重新编译ImageMagick最新版,增加了参数: –disable-openmp,负载就降下来了

./configure --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-openmpmake && make install

如果您刚开始是用多线程模式安裝的imagick,那就必须要yum remove imagemagick將其卸载掉重新安裝才行。

阅读全文
0 0
原创粉丝点击