From: OHARA Shigeki Date: 2001-03-13T17:04:21+09:00 Subject: [ruby-list:28720] Re: GC 大原です。 From: matz@zetabits.com (Yukihiro Matsumoto) Subject: [ruby-list:28717] Re: GC Message-ID: <984469524.822537.1021.nullmailer@ev.netlab.zetabits.com> Date: Tue, 13 Mar 2001 16:45:25 +0900 > |#!/usr/local/bin/ruby > |str = 'a' * 1024 * 1024 > |#puts 'str!' > |str = nil > |GC.start > |sleep 60 > | > |こんなスクリプトで、puts の行のコメントを外すと、 > |GC.start が効いてくれなくなってしまうようなのですが、 > |こういうものなのでしょうか? > > すみませんが、「こういうもの」かどうか尋ねるときには、なにが > 起きているのかもう少し具体的にお願いします。具体的にはなにを > もって「GC.start が効いてくれない」とされているのかとか。 BSD/OS 4.1 と FreeBSD 3.2 な環境下で、Ruby 1.6.2 で 上記スクリプトを実行しています。 実行中に top コマンドでプロセスの挙動を見ていて、 top で示されている SIZE (プロセスサイズの合計) の推移を見ていました。 puts をコメントアウトしている場合は、 sleep に実行が移った時点で SIZE が小さくなるのですが、 puts のコメントを外すと、 SIZE は大きい (コメントアウト時に比べて 1MB 程度) ままとなります。 ---- OHARA Shigeki