かんだでし

NAKAMURA Hi-deki- <deki / pfu.co.jp>さんの書かれた、
	「[ruby-ext:00349] Re: Ruby/Gtk + Imlib patch」
からの引用です。

> 仲村と申します

> > メモに書かれている点については問題はないと思いますが、
> > 「メモリ使用量がどんどん増えていく」に関しては調べてみます。
> 
> 増えていくのは、Xサーバのメモリ使用量なんです。
> 
> 調査のために、Data_Wrap_Struct()で指定するfree関数にダミーのfree()関数
> を割り当てて、メモリが増えていくスクリプトをgdbで動かし、ダミーのfree
> 関数が呼ばれるタイミングを観察したんです。
> すると、GC.startが入っていないスクリプト([ruby-ext:00332]のパッチに入
> れたsampe4.rbとか)では、ダミーfree関数が全く呼ばれませんでした。
> 当然なのかもしれませんが、GC.startを入れたスクリプトでは、GC.startを実
> 行するたびにダミーfree関数が呼び出されているのが観察できました。

  うーん、妙ですね。。。放っておけばいつか GC されると思うんですが。
  ところで、ダミーfree が呼ばれたら、ちゃんとメモリ使用量は減るんですよね?


> 上のことから、GCされるトリガがわかれば調査を進められるかな、と思ったん
> ですけど、GCまわりは(も)良くわかっていないので、断念。

  GC はむつかしいですよね。
# あまり難しくないのかもしれないけれど、勉強しないところだから:-p
  トリガ話じゃないですが、仕組みは [ruby-dev:3527] あたりをどうぞ。