Limitare l’utilizzo della memoria ImageMagick in AEM DAM
Questo articolo spiega come limitare il consumo di memoria nel processo di conversione di ImageMagick. ImageMagick offre diverse opzioni per controllare l'utilizzo delle risorse, inclusi i limiti di memoria, mappa, disco e file. Questi possono essere impostati utilizzando l'opzione -limit.
Descrizione description
Ambiente
- Adobe Experience Manager (AEM)
Problema/Sintomi
ImageMagick DAM (Digital Asset Management) di Adobe Experience Manager consuma molta memoria. Quando vengono caricate le risorse .ai (applicazione di tipo MIME/postscript), il flusso di lavoro di acquisizione richiama il processo ImageMagick per generare le miniature. ImageMagick consuma molta memoria (ad esempio, almeno il 15% della memoria per processo).
Se vengono caricate cinque risorse di tipo .ai, ImageMagick consuma tutta la memoria del sistema e riduce l’AEM.
Esiste un modo per limitare il consumo di memoria nel processo di conversione ImageMagick?
Risoluzione resolution
ImageMagick offre diverse opzioni per controllare l'utilizzo delle risorse, inclusi i limiti di memoria, mappa, disco e file. Questi possono essere impostati utilizzando l'opzione -limit.
L'opzione -limit consente di impostare vari limiti di risorse per il processo di conversione. La sintassi per impostare un limite di memoria è la seguente:
converti -limita la memoria <
valore>
immagine_output immagine_input
Dove *<
valore>
*è la quantità massima di memoria (in byte) che il processo può utilizzare. Puoi usare suffissi come MB per megabyte o GB per gigabyte per renderli più leggibili.
Esempio:
Per limitare l’utilizzo della memoria a 500 MB, esegui:
converti -limita memoria 500MB input_image.jpg output_image.jpg
Oltre alla memoria, è possibile limitare altre risorse:
- Map (Mappa): limita la quantità di utilizzo della mappa di memoria.
- Disco: limita la quantità di spazio su disco utilizzato.
- File: limita il numero di file aperti.
La sintassi è simile al limite di memoria:
converti -limita mappa 1GB -limita disco 2GB -limita file 50 input_image.jpg output_image.jpg
È inoltre possibile impostare limiti di risorse predefiniti modificando il file di configurazione dei criteri ImageMagick, che si trova in genere in /etc/ImageMagick-6/policy.xml o /etc/ImageMagick-7/policy.xml a seconda della versione.
Di seguito è riportato un esempio di come impostare questi limiti nel file di configurazione:
<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"/>