Forum: Ruby How to monitor memory consumed by a method ?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Paganoni (Guest)
on 2009-03-26 20:45
(Received via mailing list)
Hello, I've written a library that handle csv conversion...
Files are big, themselves related and the conversion rules needs several
hashes.
Those data will grow up month after month, so I would like to know how
many memory this import method can consume.

The only idea I had is launching the linux utility pmap before and after
the method.

Is there any other solution ?

Thanks
Peter Z. (Guest)
on 2009-03-26 21:01
(Received via mailing list)
Quoting P. <removed_email_address@domain.invalid>:

> Hello, I've written a library that handle csv conversion...
> Files are big, themselves related and the conversion rules needs
> several hashes.
> Those data will grow up month after month, so I would like to know
> how many memory this import method can consume.
>
> The only idea I had is launching the linux utility pmap before and
> after the method.
>
> Is there any other solution ?

Try doing GC.disable before calling method and then ps aux, for
example. I think this is simplier.

   WBR, Peter Z.
Robert K. (Guest)
on 2009-03-27 18:04
(Received via mailing list)
2009/3/26 Peter Z. <removed_email_address@domain.invalid>:
>>
>> Is there any other solution ?
>
> Try doing GC.disable before calling method and then ps aux, for example. I
> think this is simplier.

That way you will see how much memory the process uses up but not, how
much of that must be attributed to the code in the method in question.
 Note that Ruby may allocate memory from the OS in larger chunks in
order to prevent too frequent malloc calls and fragmentation.  I am
not sure how helpful that is for the OP's problem.

Cheers

robert
This topic is locked and can not be replied to.