大原です。

From: matz / zetabits.com (Yukihiro Matsumoto)
Subject: [ruby-list:28721] Re: GC
Message-ID: <984471669.836707.1072.nullmailer / ev.netlab.zetabits.com>
Date: Tue, 13 Mar 2001 17:21:10 +0900

> |BSD/OS 4.1 と FreeBSD 3.2 な環境下で、Ruby 1.6.2 で
> |上記スクリプトを実行しています。
> |実行中に top コマンドでプロセスの挙動を見ていて、
> |top で示されている SIZE (プロセスサイズの合計) の推移を見ていました。
> 
> プロセスサイズが小さくなるかどうかはmallocとfreeの挙動です。
> Rubyでは制御できないのです。メモリの割り当て/解放パターンが
> コメントアウトした場合ではたまたまmalloc/freeがOSに領域を返
> すパターンだったのでしょうとしか言いようがありません。
> そういう意味では「こういうもの」かも。

なるほど、そういうことでしたか。
了解しました。


Ruby で daemon を作っていると、
GC.start を使ってもプロセスサイズが小さくならないことがよくあって、
Ruby が悪いのか GS.start の使い方が悪いのかと
今までずっと悩んでいたのですが、「こういうもの」だったのですね……。

----
OHARA Shigeki <os / iij.ad.jp>