From: Michael Davis Date: 2001-06-10T03:05:36+09:00 Subject: [ruby-talk:16370] Re: Garbage Collection? I just grabbed the latest snapshot. It is still an issue in version ruby 1.7.1 (2001-06-07) [i686-linux]. It looks like it is an issue with the latest snapshot. It works great for me with version 1.6.3. Thank you for testing this. Looks like I need to revert back to -----Original Message----- From: Wesley J Landaker [SMTP:wjl@mindless.com] Sent: Saturday, June 09, 2001 10:17 AM To: ruby-talk ML Subject: [ruby-talk:16366] Re: Garbage Collection? -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Saturday 09 June 2001 10:08am, Michael Davis wrote: > Windows 2000 and linux (RedHat 6.2). I have run these tests on both > OSs. Run top while the script is running and you should see that the > ruby process continuously consumes memory. Here is a better example: > > def test_dump(count) > system("ps aux | grep rb | grep -v grep") > a = [] > 0.upto(9999) {|i| a[i] = rand(999999)} > 0.upto(count) do |i| > 0.upto(99) do |i| > b = Marshal.dump(a) > end > b = nil > GC.start > system("ps aux | grep rb | grep -v grep") > #print "GC.start\n" > end > 0.upto(a.nitems-1){|i| a[i] = nil} > a = nil > system("ps aux | grep rb | grep -v grep") > end > # I added: system("ps aux | head -1") > test_dump(200000) It sounds like this might be a bug in the version of ruby you have, because it doesn't explode in memory usage when I run it here either. Running the exact script above, RedHat 7.1, Ruby 1.7.0 (CVS), gives: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND wjl 22474 3.0 0.3 2832 1428 pts/3 S 10:12 0:00 ruby test.rb wjl 22474 69.4 0.3 2888 1496 pts/3 S 10:12 0:03 ruby test.rb wjl 22474 78.3 0.3 2888 1496 pts/3 S 10:12 0:07 ruby test.rb wjl 22474 74.8 0.3 2888 1496 pts/3 S 10:12 0:10 ruby test.rb wjl 22474 80.4 0.3 2888 1496 pts/3 S 10:12 0:13 ruby test.rb wjl 22474 84.2 0.3 2888 1496 pts/3 S 10:12 0:16 ruby test.rb wjl 22474 87.1 0.3 2888 1496 pts/3 S 10:12 0:20 ruby test.rb wjl 22474 86.2 0.3 2888 1496 pts/3 S 10:12 0:23 ruby test.rb wjl 22474 88.3 0.3 2888 1496 pts/3 S 10:12 0:26 ruby test.rb wjl 22474 87.5 0.3 2888 1496 pts/3 S 10:12 0:29 ruby test.rb wjl 22474 89.1 0.3 2888 1496 pts/3 S 10:12 0:32 ruby test.rb wjl 22474 90.4 0.3 2888 1496 pts/3 S 10:12 0:36 ruby test.rb wjl 22474 89.5 0.3 2888 1496 pts/3 S 10:12 0:39 ruby test.rb wjl 22474 90.6 0.3 2888 1496 pts/3 S 10:12 0:42 ruby test.rb wjl 22474 91.6 0.3 2888 1496 pts/3 S 10:12 0:45 ruby test.rb wjl 22474 92.4 0.3 2888 1496 pts/3 S 10:12 0:49 ruby test.rb wjl 22474 91.5 0.3 2888 1496 pts/3 S 10:12 0:52 ruby test.rb wjl 22474 92.3 0.3 2888 1496 pts/3 S 10:12 0:55 ruby test.rb wjl 22474 92.9 0.3 2888 1496 pts/3 S 10:12 0:58 ruby test.rb wjl 22474 92.1 0.3 2888 1496 pts/3 S 10:12 1:01 ruby test.rb wjl 22474 92.7 0.3 2888 1496 pts/3 S 10:12 1:04 ruby test.rb wjl 22474 93.3 0.3 2888 1496 pts/3 S 10:12 1:08 ruby test.rb wjl 22474 93.8 0.3 2888 1496 pts/3 S 10:12 1:11 ruby test.rb wjl 22474 93.1 0.3 2888 1496 pts/3 S 10:12 1:14 ruby test.rb wjl 22474 93.5 0.3 2888 1496 pts/3 S 10:12 1:17 ruby test.rb wjl 22474 94.0 0.3 2888 1496 pts/3 S 10:12 1:20 ruby test.rb wjl 22474 94.3 0.3 2888 1496 pts/3 S 10:12 1:24 ruby test.rb wjl 22474 93.7 0.3 2888 1496 pts/3 S 10:12 1:27 ruby test.rb wjl 22474 94.1 0.3 2888 1496 pts/3 S 10:12 1:30 ruby test.rb wjl 22474 94.4 0.3 2888 1496 pts/3 S 10:12 1:33 ruby test.rb wjl 22474 94.7 0.3 2888 1496 pts/3 S 10:12 1:36 ruby test.rb wjl 22474 94.2 0.3 2888 1496 pts/3 S 10:12 1:39 ruby test.rb wjl 22474 94.5 0.3 2888 1496 pts/3 S 10:12 1:43 ruby test.rb wjl 22474 94.8 0.3 2888 1496 pts/3 S 10:12 1:46 ruby test.rb wjl 22474 94.3 0.3 2888 1496 pts/3 S 10:12 1:49 ruby test.rb wjl 22474 94.6 0.3 2888 1496 pts/3 S 10:12 1:52 ruby test.rb wjl 22474 94.8 0.3 2888 1496 pts/3 S 10:12 1:55 ruby test.rb wjl 22474 95.1 0.3 2888 1496 pts/3 S 10:12 1:58 ruby test.rb wjl 22474 94.6 0.3 2888 1496 pts/3 S 10:12 2:02 ruby test.rb wjl 22474 94.9 0.3 2888 1496 pts/3 S 10:12 2:05 ruby test.rb wjl 22474 95.1 0.3 2888 1496 pts/3 S 10:12 2:08 ruby test.rb wjl 22474 94.7 0.3 2888 1496 pts/3 S 10:12 2:11 ruby test.rb wjl 22474 95.0 0.3 2888 1496 pts/3 S 10:12 2:14 ruby test.rb wjl 22474 95.2 0.3 2888 1496 pts/3 S 10:12 2:18 ruby test.rb wjl 22474 95.4 0.3 2888 1496 pts/3 S 10:12 2:21 ruby test.rb wjl 22474 95.0 0.3 2888 1496 pts/3 S 10:12 2:24 ruby test.rb wjl 22474 95.2 0.3 2888 1496 pts/3 S 10:12 2:27 ruby test.rb wjl 22474 95.4 0.3 2888 1496 pts/3 S 10:12 2:30 ruby test.rb wjl 22474 95.6 0.3 2888 1496 pts/3 S 10:12 2:34 ruby test.rb wjl 22474 95.2 0.3 2888 1496 pts/3 S 10:12 2:37 ruby test.rb (And so on, til the end of time...) -- memory usage never grows. What version of Ruby are you using? I'm using (and possibly ts is too--I didn't see what version he said) a copy compiled from CVS, so it's possible that the version you have really does have a bug. - -- Wesley J. Landaker - wjl@myrealbox.com http://www.landaker.net PGP DSS/DH Key: 0x0F338E07 PGPKey FP: 3AAA 424B B488 198E B68B C0E5 390A BACA 0F33 8E07 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: All your base are belong to us. iEYEARECAAYFAjsiS+AACgkQOQq6yg8zjgdaFgCfWlnsjB8FR4BQLzvOvDSjvzrV 5yMAoKBM9XEJ6PTQkkPhelrjSNG0FCfz =JJOq -----END PGP SIGNATURE-----