/usr/share/doc/ruby-ramaze/examples/misc/memleak_detector.rb is in ruby-ramaze 2012.12.08-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the MIT license.
require 'ramaze'
# This little app helps me track down memory-leaks in Ramaze.
class MainController < Ramaze::Controller
def index
"Hello, World!"
end
end
def memcheck(top = 10, klass = Object)
puts
os = Hash.new(0)
ObjectSpace.each_object(klass){|o| yield(os, o) }
pp sorted = os.sort_by{|k,v| -v }.first(top)
puts
return sorted
rescue Exception => ex
puts ex
ensure
GC.start
end
Thread.new do
loop do
# memcheck(10, String){|os, o| os[o] += 1 }
memcheck{|os, o| os[o.class] += 1 }
sleep 5
end
end
Ramaze::Log.loggers.clear
Ramaze.start :adapter => :webrick, :mode => :live
|