From: ts Date: 2001-06-10T01:17:54+09:00 Subject: [ruby-talk:16367] Re: Garbage Collection? >>>>> "M" == Michael Davis writes: M> Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs. M> Run top while the script is running and you should see that the ruby M> process continuously consumes memory. Here is a better example: You have a problem with your system or your version of ruby pigeon% cat test.rb 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 test_dump(200000) pigeon% pigeon% ruby test.rb ts 26017 0.0 0.5 2476 1292 pts/0 S 18:10 0:00 ruby test.rb ts 26017 88.2 0.5 2644 1464 pts/0 S 18:10 0:03 ruby test.rb ts 26017 99.4 0.5 2644 1464 pts/0 S 18:10 0:06 ruby test.rb ts 26017 94.4 0.5 2536 1368 pts/0 S 18:10 0:10 ruby test.rb ts 26017 98.7 0.5 2536 1368 pts/0 S 18:10 0:13 ruby test.rb ts 26017 95.7 0.5 2536 1368 pts/0 S 18:10 0:17 ruby test.rb ts 26017 98.4 0.5 2536 1368 pts/0 S 18:10 0:20 ruby test.rb ts 26017 96.4 0.5 2536 1368 pts/0 S 18:10 0:24 ruby test.rb ts 26017 94.9 0.5 2536 1368 pts/0 S 18:10 0:27 ruby test.rb ts 26017 96.7 0.5 2536 1368 pts/0 S 18:10 0:30 ruby test.rb ts 26017 95.5 0.5 2536 1368 pts/0 S 18:10 0:34 ruby test.rb ts 26017 96.9 0.5 2536 1368 pts/0 S 18:10 0:37 ruby test.rb ts 26017 95.9 0.5 2536 1368 pts/0 S 18:10 0:41 ruby test.rb ts 26017 97.1 0.5 2536 1368 pts/0 S 18:10 0:44 ruby test.rb ts 26017 96.2 0.5 2536 1368 pts/0 S 18:10 0:48 ruby test.rb ts 26017 97.2 0.5 2536 1368 pts/0 S 18:10 0:51 ruby test.rb ts 26017 96.4 0.5 2536 1368 pts/0 S 18:10 0:54 ruby test.rb ts 26017 95.6 0.5 2536 1368 pts/0 S 18:10 0:58 ruby test.rb ts 26017 96.5 0.5 2536 1368 pts/0 S 18:10 1:01 ruby test.rb ts 26017 95.9 0.5 2536 1368 pts/0 S 18:10 1:05 ruby test.rb ts 26017 96.7 0.5 2536 1368 pts/0 S 18:10 1:08 ruby test.rb ts 26017 96.1 0.5 2536 1368 pts/0 S 18:10 1:12 ruby test.rb ts 26017 96.8 0.5 2536 1368 pts/0 S 18:10 1:15 ruby test.rb ts 26017 96.3 0.5 2536 1368 pts/0 S 18:10 1:18 ruby test.rb ts 26017 95.8 0.5 2536 1368 pts/0 S 18:10 1:22 ruby test.rb ts 26017 96.4 0.5 2536 1368 pts/0 S 18:10 1:25 ruby test.rb ts 26017 95.9 0.5 2536 1368 pts/0 S 18:10 1:29 ruby test.rb ts 26017 96.5 0.5 2536 1368 pts/0 S 18:10 1:32 ruby test.rb ts 26017 96.1 0.5 2536 1368 pts/0 S 18:10 1:36 ruby test.rb ts 26017 96.6 0.5 2536 1368 pts/0 S 18:10 1:39 ruby test.rb ts 26017 96.2 0.5 2536 1368 pts/0 S 18:10 1:42 ruby test.rb ts 26017 96.7 0.5 2536 1368 pts/0 S 18:10 1:46 ruby test.rb ts 26017 96.3 0.5 2536 1368 pts/0 S 18:10 1:49 ruby test.rb ts 26017 95.9 0.5 2536 1368 pts/0 S 18:10 1:53 ruby test.rb ts 26017 96.4 0.5 2536 1368 pts/0 S 18:10 1:56 ruby test.rb ts 26017 96.0 0.5 2536 1368 pts/0 S 18:10 2:00 ruby test.rb ts 26017 96.5 0.5 2536 1368 pts/0 S 18:10 2:03 ruby test.rb ts 26017 96.2 0.5 2536 1368 pts/0 S 18:10 2:06 ruby test.rb ts 26017 96.6 0.5 2536 1368 pts/0 S 18:10 2:10 ruby test.rb ts 26017 96.2 0.5 2536 1368 pts/0 S 18:10 2:13 ruby test.rb ts 26017 96.0 0.5 2536 1368 pts/0 S 18:10 2:17 ruby test.rb ts 26017 96.3 0.5 2536 1368 pts/0 S 18:10 2:20 ruby test.rb ts 26017 96.0 0.5 2536 1368 pts/0 S 18:10 2:24 ruby test.rb ts 26017 96.4 0.5 2536 1368 pts/0 S 18:10 2:27 ruby test.rb test.rb:7:in `test_dump': Interrupt from test.rb:6:in `upto' from test.rb:6:in `test_dump' from test.rb:5:in `upto' from test.rb:5:in `test_dump' from test.rb:19 pigeon% Guy Decoux