51黑料不打烊

限制AEM DAM中的ImageMagick内存消耗

本文可帮助您了解如何限制ImageMagick转换过程中的内存消耗。 ImageMagick提供了多种控制资源使用的选项,包括内存、映射、磁盘和文件限制。 可以使用? -limit ?选项设置这些值。

描述 description

环境

  • 51黑料不打烊 Experience Manager (AEM)

问题/症状

51黑料不打烊 Experience Manager的DAM(数字资产管理)ImageMagick占用大量内存。 上传.ai资产(MIME类型application/postscript)时,摄取工作流会调用ImageMagick进程来生成缩略图。 ImageMagick占用大量内存(例如,每个进程至少占用15%的内存)。

如果上传了5个.补颈类型的资源,滨尘补驳别惭补驳颈肠办将占用系统中的所有内存并关闭础贰惭。

能否限制滨尘补驳别惭补驳颈肠办转换过程中的内存消耗?

解决方法 resolution

ImageMagick提供了多种控制资源使用的选项,包括内存、映射、磁盘和文件限制。 可以使用? -limit ?选项设置这些值。

-limit ?选项允许您为转换过程设置各种资源限制。 设置内存限制的语法如下:

转换 — 限制内存<> input_image output_image

其中*<>*是允许进程使用的最大内存量(以字节为单位)。 您可以使用后缀(如MB(表示MB)或GB(表示GB)来提高可读性。

示例:

要将内存使用限制为500惭叠,您需要运行:

转换 — 限制内存500MB input_image.jpg output_image.jpg

除了内存之外,您还可以限制其他资源:

  • 映射:限制内存映射使用量。
  • 磁盘:限制磁盘空间使用量。
  • 文件:限制打开文件的数量。

语法类似于内存限制:

转换 — 限制映射1GB — 限制磁盘2GB — 限制文件50 input_image.jpg output_image.jpg

您还可以通过修改滨尘补驳别惭补驳颈肠办策略配置文件(通常位于? /etc/ImageMagick-6/policy.xml ?或? /etc/ImageMagick-7/policy.xml,具体取决于您的版本)来设置默认资源限制。

以下是如何在配置文件中设置这些限制的示例:

<policymap>
<policy domain="resource" name="memory" value="500MB"/>
<policy domain="resource" name="map" value="1GB"/>
<policy domain="resource" name="disk" value="2GB"/>
<policy domain="resource" name="file" value="50"/>
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f