Очень простая утечка памяти в Ruby GServer - PullRequest
3 голосов
/ 28 сентября 2010

У меня есть следующий скрипт на 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?

Кстати: я проверял это на MacOSX с Ruby 1.8.7 и на Debian System с 1.9.2.

1 Ответ

3 голосов
/ 29 сентября 2010

16kb не обязательно означает утечку памяти.Если у вас есть реальная утечка памяти, она будет увеличиваться до сотни МБ с течением времени.При этом вы можете искать утечки памяти, используя mem-prof и valgrind.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...