Solution for large /tmp/magick-xxx files created by ImageMagick and policy.xml configuration changes
I’ll introduce the solution for when large files named /tmp/magick-xxx are created on servers using ImageMagick, and configuration changes to policy.xml.
I was using ImageMagick on an image processing server built with ngx_small_light, when suddenly disk warnings and alerts started occurring.
First, check disk free space with the df command. It was at 97% with only 290MB remaining…
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 7.4G 290M 97% /
devtmpfs 3.6G 20K 3.6G 1% /dev
tmpfs 3.6G 0 3.6G 0% /dev/shm
Confirm that there are tmp files output by ImageMagick in the /tmp directory.
$ ls -lh /tmp/
total 2.0G
-rw------- 1 nginx nginx 2.0G Mar 3 06:56 magick-9162ZVLalRUJc16h
Delete them without question.
$ sudo rm /tmp/magick-9162ZVLalRUJc16h
When I checked ImageMagick’s configuration values, Disk: unlimited was set.
$ identify -list resource
Resource limits:
Width: 214.7MP
Height: 214.7MP
Area: 15.31GP
Memory: 7.1292GiB
Map: 14.258GiB
Disk: unlimited
File: 768
Thread: 4
Throttle: 0
Time: unlimited
I modified /usr/local/etc/ImageMagick-6/policy.xml as follows:
After modifying policy.xml, you can immediately confirm that the settings are reflected using the identify -list resource command.
$ identify -list resource
Resource limits:
Width: 214.7MP
Height: 214.7MP
Area: 15.31GP
Memory: 7.1292GiB
Map: 0B
Disk: 0B
File: 768
Thread: 1
Throttle: 0
Time: unlimited
That’s all from the Gemba where I was troubled by large tmp files output by ImageMagick.