Pry でガベージ コレクションをいじっていたところ、何らかの理由で機能していないように見えることに気付きました。大きな配列を などに設定するさまざまな方法を試していnil
ましたが、「なぜ、おかしなメモリの割り当てを解除できないのGC.start
ですか?」という質問に頭を悩ませていました。
それから IRB に行ったところ、突然機能しました。何が原因なのだろうと思っています。答えがわからないのに見つかった場合は、その方法も知りたいです。
私の単純なコード (私は 1.9.3-p327 を使用していますが、これは 1 ~ 2 ギガを消費することに注意してください):
a = []
for i in (1..1000000)
a[i] = 'x' * 100
end
ここで、メモリの増加を観察し、その後:
for i in (1..1000000)
a[i] = i
end
その後、
GC.start