请考虑以下用于 imagemagick 包的命令:
sudo convert -resize 460x200 /path/to/test1.jpg /path/to/test2.jpg
Run Code Online (Sandbox Code Playgroud)
现在test1.jpg是一个相当大的图像(12.5MB),但不是闻所未闻的大小,但我工作的服务器只有 1G 的内存(Amazon EC2 t2.micro如果有帮助)
没有错误被抛出,但没有test2.jpg被创建。我已经用较小的图像对此进行了测试,并且效果很好。如果内存足以管理调整大小,我会想到 1G,但也许不是?
我有什么选择,我必须获得更多内存还是我错过了什么?
非常欢迎任何建议!
请求编辑
strace 输出显示:+++ killed by SIGKILL +++以及许多看起来正常的命令(打开/usr/share/local和读取长字符串,我假设是图像数据)
免费给我:
total used free shared buffers cached
Mem: 1016292 278348 737944 6412 460 13356
-/+ buffers/cache: 264532 751760
Swap: 0 0 0
Run Code Online (Sandbox Code Playgroud)
所以看起来好像没有启用交换,所以我将研究创建一个交换文件,看看这是否能解决我的问题。
文件给了我:
testprint10Mbv2.jpg: JPEG image data, EXIF standard
Run Code Online (Sandbox Code Playgroud)
我也会粘贴完整的 /path/to/img 但不幸的是它包含敏感数据(客户端电子邮件地址等)