Imagemagick仅使用一个核心

2023-11-23

我正在运行一个 8 核的 Ubuntu 服务器。然而 imagemagick 始终只使用 1 个单核。
跑步identify -version返回:

Version: ImageMagick 6.6.9-7 2012-08-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP

So OpenMP这显然是启用多线程所必需的。

运行基准测试-bench选项(例如convert logo: -resize 500% -bench 10 logo.png)如上所述here回报

Performance: 10i 1.17647ips 14.390u 0.14166666666833332977:08.500

它不会返回Performance[1]通过Performance[8]如上所述在手册中这让我想知道。

有什么想法可以让 imagemagick 使用所有 8 个核心吗?

Update:以下是 imagemagick 调用的 strace 输出:http://pastebin.com/Q0gC3k09


我能够在 Ubuntu 10.04 上重现此行为。来自 apt-get 的 ImageMagick 似乎haveOpenMP 功能,并配置-fopenmp标志,但该功能似乎没有启用。这可以通过运行以下行并比较“FEATURES" 列出(如果存在)各种配置标志。

identify -list Configure | less

我按照文章“解决了这个问题”在 Ubuntu 8.04 上从源代码安装 ImageMagick”其中详细说明了以下过程。

  • 删除 ImageMagick
  • 通过 apt-get 安装所有需要的图像/图形依赖库
  • Download
    • wget http://www.imagemagick.org/download/ImageMagick-6.8.6-6.tar.gz
  • 遵循基本./configure, make, & sudo make install steps
  • 导出库路径到/usr/local/lib

这似乎有效,因为 OpenMP 现在位于“FEATURES“ 列表,当我执行时convert logo: -resize 500% -bench 10 logo.png。我看到以下内容

Performance[1]: 10i 0.750ips 1.000e 18.750u 0:13.330
Performance[2]: 10i 0.751ips 0.500e 18.660u 0:13.320
Performance[3]: 10i 0.738ips 0.496e 18.840u 0:13.550
Performance[4]: 10i 0.469ips 0.385e 19.560u 0:21.320

这些结果符合我的预期。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Imagemagick仅使用一个核心 的相关文章

随机推荐