Restringir o consumo de memória do ImageMagick no DAM do AEM

Este artigo ajuda você a saber como restringir o consumo de memória no processo de conversão do ImageMagick. O ImageMagick fornece várias opções para controlar o uso de recursos, incluindo limites de memória, mapa, disco e arquivos. Eles podem ser definidos com a opção -limit.

Descrição description

Ambiente

  • Adobe Experience Manager (AEM)

Problema/Sintomas

O ImageMagick DAM (Digital Asset Management, Gerenciamento de ativos digitais) da Adobe Experience Manager consome muita memória. Quando os ativos .ai são carregados (aplicativo do tipo MIME/postscript), o fluxo de trabalho de assimilação chama o processo ImageMagick para gerar miniaturas. O ImageMagick consome muita memória (por exemplo, um mínimo de 15% da memória por processo).

Se cinco ativos do tipo .ai forem carregados, o ImageMagick consumirá toda a memória do sistema e desativará o AEM.

Há alguma maneira de restringir o consumo de memória no processo de conversão do ImageMagick?

Resolução resolution

O ImageMagick fornece várias opções para controlar o uso de recursos, incluindo limites de memória, mapa, disco e arquivos. Eles podem ser definidos com a opção -limit.

A opção -limit permite definir vários limites de recursos para o processo de conversão. A sintaxe para definir um limite de memória é a seguinte:

converter -limite memória < valor> imagem_entrada imagem imagem_saída

Onde < valor> é a quantidade máxima de memória (em bytes) que o processo tem permissão para usar. Você pode usar sufixos como MB para megabytes ou GB para gigabytes para torná-lo mais legível.

Exemplo:

Para limitar o uso de memória a 500 MB, você executaria:

converter -limitar memória 500MB input_image.jpg output_image.jpg

Além da memória, você também pode limitar outros recursos:

  • Mapa: limita a quantidade de uso do mapa de memória.
  • Disco: Limita o uso do espaço em disco.
  • Arquivo: limita o número de arquivos abertos.

A sintaxe é semelhante ao limite de memória:

converter -limitar mapa 1GB -limitar disco 2GB -limitar arquivo 50 input_image.jpg output_image.jpg

Você também pode definir limites de recursos padrão modificando o arquivo de configuração de política ImageMagick, normalmente localizado em /etc/ImageMagick-6/policy.xml ou /etc/ImageMagick-7/policy.xml, dependendo da sua versão.

Este é um exemplo de como definir esses limites no arquivo de configuração:

<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