imagemagickパッケージの次のコマンドを検討してください。
sudo convert -resize 460x200 /path/to/test1.jpg /path/to/test2.jpg
今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
スワップが有効になっていないように見えるので、スワップファイルの作成を調べて、これが私の問題をソートするかどうかを確認します。
ファイルは私に与えます:
testprint10Mbv2.jpg: JPEG image data, EXIF standard
完全な/ path / to / imgも貼り付けますが、残念ながら機密データ(クライアントのメールアドレスなど)が含まれています
-limit memory 64MiB
(32MiBはおそらく少なすぎます。デフォルトは1.5GiBです)。また、失敗した場合に備えて説明的な出力を提供する必要があります。
strace
前にコマンドを追加して実行してみてください。どのシステムコールが行われ、エラーがスローされたかを確認してください。お知らせください
sudo
このコマンドで使用しているのはなぜですか?