Lütfen imagemagick paketi için aşağıdaki komutu göz önünde bulundurun:
sudo convert -resize 460x200 /path/to/test1.jpg /path/to/test2.jpg
Şimdi test1.jpg
bir olduğu oldukça geniş görüntü (12.5MB), ancak boyutları duyulmamış değil ama gelen çalışıyorum Sunucu yalnızca (bellek 1G sahip Amazon EC2 t2.micro eğer yardımcı olur)
Hiçbir hata atılamıyor ve yine test2.jpg
de yaratılmıyor. Bunu daha küçük görüntülerle test ettim ve iyi çalışıyor. Bellek yeniden boyutlandırma yönetmek için bol olurdu, ama belki de değil 1G düşünürdüm?
Seçeneklerim neler, daha fazla bellek almak zorunda mıyım yoksa bir şey mi kaçırıyorum?
Herhangi bir öneri çok açıktır!
İstenen Düzenlemeler
strace çıktı gösterir: normal görünen komutların bir sürü+++ killed by SIGKILL +++
ile birlikte ( görüntü verileri olduğunu varsayalım uzun dizeleri açma ve okuma)/usr/share/local
ücretsiz bana verir:
total used free shared buffers cached
Mem: 1016292 278348 737944 6412 460 13356
-/+ buffers/cache: 264532 751760
Swap: 0 0 0
Bu yüzden takas etkin değil gibi görünüyor, bu yüzden bu sorunlarımı sıralar görmek için bir takas dosyası oluşturmak için bakacağım.
Dosya bana şunu veriyor:
testprint10Mbv2.jpg: JPEG image data, EXIF standard
Ben de tam / yol / to / img yapıştırın ama ne yazık ki hassas veriler (istemci e-posta adresleri vb) içeriyor
-limit memory 64MiB
sınırlamaya çalışabilir (32MiB muhtemelen biraz fazla küçüktür. Varsayılan 1.5GiB'dir). Ve başarısız olması durumunda size bazı açıklayıcı çıktılar vermelidir.
strace
önüne eklenmiş olarak komutu çalıştırmayı deneyin , hangi sistem çağrılarının yapıldığını, hataların atıldığını görün. Bize bildirin
sudo
bu komutta kullanıyorsunuz ?