大量の画像ファイルを、それぞれいくつかのサイズのサムネイル画像を作りつつ、それぞれをDBにも保存しなければならない、という処理が必要になったのですが、RMagickのメモリ消費の阿呆さ加減にやられてしまいました。とにかく一切メモリ解放をしてないんじゃないかと思ってしまうくらいのすこさで、topコマンドで見るのが怖いくらいなのです。 で、ネットで情報を探ってみると、まあ当然というかGCをループの終わりでやれと書いてある。しかも、GC自体が無効になっている可能性も考慮して、 こんなことをやれとあちらこちらに書いてある。で、試してみたのだけど、確かにメモリ消費の加速度は鈍った。鈍ったのだけど、やっぱりやがては限界までメモリを食い尽くしてプロセスが異常終了してしまう。さらに毎回GCが強制的に走るので、処理速度も若干遅くなった。今回は、処理速度も重要な要点のひとつなので、なかなか大変なのだ。 で、考