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"/>