RMagickのメモリ食い。

カレントフォルダ内の画像全部に対して加工を掛けようとこんなコードを書いたんだけど。

#!/usr/bin/env ruby -Ku
require 'rmagick'
include Magick

list = Dir::glob('*.png')

list.each{|s|
	puts "prosessing #{s}"
	img = ImageList.new(s)[0]
	img = img.modulate(1.0,1.17, 1.01).gamma_channel(1.15,RedChannel)
	img = img.resize(491,450)
	img.write(s)
}

なんかファイルが多いとメモリを凄まじく持って行かれる。使い終わったのが解放されてないのかな。


img.write(s)の後ろにGC.startを入れると大丈夫みたい。ブロック中ではGCが走らない?