RubyTorrent memory usage


#1

Hi all,

I’ve been using the rubytorrent library to build a webbased torrent
client, but when I start a torrent ruby wll slowly start using more and
more memory and in about three hours it will use 100% (512mb) of memory.
The package seems unmaintained (no activity the last year and no reply
to email) so basically two questions:

  1. Does anyone here use rubytorrent. Do they have the same problems or
    is it just me.

  2. How would I debug this. I looked into the creation of objects by the
    library (by monitoring objectspace) and it mostly creates Arrays and
    Procs (Arrays go from 40000 at the start to 400000 after half an hour),
    but the number of objects based on the rubytorrent classes stays about
    the same. Is there a way to find out by which object another object is
    created; for example have an object report it has been created by
    RubyTorrent::Peer.

Edwin

P.S. this is on ruby 1.8.4 in linux.


#2

On May 7, 2006, at 6:19 PM, Edwin van Leeuwen wrote:

  1. Does anyone here use rubytorrent. Do they have the same problems or
    RubyTorrent::Peer.

Edwin

P.S. this is on ruby 1.8.4 in linux.


Posted via http://www.ruby-forum.com/.

It’s probably the Procs that are causing the “leak”. Blocks grab
their entire environment so that code like
proc { eval(…) }
doesn’t break

The “problem” is that as long as it is possible to reference that
proc, it is possible to reference everything in that proc’s enclosing
scope.