【问题标题】:Imagemagick convert uses heavily disk resourcesImagemagick 转换使用大量磁盘资源
【发布时间】:2021-02-27 15:31:01
【问题描述】:

在我的本地机器上,我编写了一个多次使用 ImageMagick 转换的脚本。最常用的命令之一是:

convert -size 4200x5100 xc:blue sth.jpg

。在我的本地机器上,它运行大约 1s,这没关系。它不会使用太多资源。

当我将程序部署到 2 台不同的服务器时,它们开始非常强大地使用磁盘,并且相同的运行大约需要 9 秒而不是 1 秒。

我发现它在服务器上创建了一个文件(文件名类似于:/tmp/magick-30416RF1uGkxsk3ms),其大小正好为 250.000.000 字节。

在本地计算机上,不会创建此文件。

版本是: 本地机器:笔记本电脑,Ubuntu 16.04,联想 t440。 IM/转换版本:6.8.9-9

Server1:debian 10.8,一周全新安装,vps,IM/转换版本:6.9.10-23

Server2:物理机,debian 9.6,IM/转换版本:6.9.7-4

.

我的问题是什么会导致本地机器和服务器之间的这种巨大差异?如何防止 ImageMagick 创建这个怪物大的临时文件?

还是6.9版本的新功能??

【问题讨论】:

  • 我发现,这应该是一些与内存相关的问题。如果我创建分辨率较低的文件,它不会使用磁盘...。但是,它仍然没有解决我的问题。
  • 我认为有一个选项。这不是我第一次看到人们遇到这样的问题(但我不记得解决方案了)。您可能应该查看我们的姐妹网站(查看右上角的图标)。您的问题是关于程序而不是编程(可能是超级用户,或 unix&linux,或 Ubuntu 姐妹网站)
  • 如果这是您的服务器而不是共享服务器,那么您可以使用 policy.xml 文件更改您的资源(内存分配)等。您可能允许的内存有限,因此 ImageMagick 将使用磁盘资源来代替大图像。
  • 您可以尝试在各种机器上运行identify -version,看看它们是否报告了 Q8 或 Q16,它们给出了内存中每个样本的位数。
  • 所有 3 台服务器上都是 Q16。

标签: ubuntu debian imagemagick imagemagick-convert


【解决方案1】:

我需要增加 /etc/ImageMagick-6/policy.xml 文件中区域和/或地图和/或内存的值。它会解决问题。

【讨论】:

    猜你喜欢
    • 2021-06-19
    • 2010-12-21
    • 2019-10-29
    • 2018-03-09
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 2015-10-09
    相关资源
    最近更新 更多