非常简单的Ruby GServer泄漏内存

时间:2010-09-27 21:55:22

标签: ruby memory-leaks

我有以下Ruby脚本:

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

当我打开与服务器的连接时,它会显示随着时间的推移而增加的内存使用量,而我没有打开任何新连接或做任何事情。

我做错了什么,或者GServer中是否存在内存泄漏问题?

BTW:我在MacOSX上使用Ruby 1.8.7和在Debian系统上使用1.9.2进行了测试。

1 个答案:

答案 0 :(得分:3)

16kb并不一定意味着内存泄漏。如果你有真正的内存泄漏,它会随着时间的推移而上升到几百MB。话虽如此,你可以使用mem-prof和valgrind来查找内存泄漏。