views:

49

answers:

1

I've got the following Ruby script:

class Server < GServer

  def initialize    
    super(10001)
  end


  def serve(io)
    while true
     io.puts `ps -o rss= -p #{$$}`.to_i
    end
  end

end

server = Server.new
server.start

while true
  sleep 10
end

When I open a connection to the server, it shows increasing memory usage over time, without me opening any new connections or doing anything at all.

Am I doing something wrong, or is there a memory leak issue in GServer?

BTW: I tested it on MacOSX with Ruby 1.8.7 and on a Debian System with 1.9.2.

A: 

16kb doesn't necessarily mean a memory leak. If you have a real memory leak it will go up and up to hundreds of MB's over time. That being said you can look for memory leaks using mem-prof and valgrind.

rogerdpack