How to monitor memory consumed by a method?


#1

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


#2

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


#3

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.