I recommend gperftools <https://code.google.com/p/gperftools/> for memory checking.

-erik


On Fri, May 16, 2014 at 6:33 PM, Roland Haas <roland.haas@physics.gatech.edu> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Ian,

> Does anyone else see problems like this?
I think Jim Healy saw growth in memory quite a while back.

If you are suspecting that the memory consumption is due to C++ code
(ie Carpet other then you can try the attached memory tracer [there is
a main() function at the end to show how to use it] to tag all calls
to new/delete to the code). For Carpet I suspect that you may also
want to change the malloc() call in mem<T>'s constructor (in
CarpetLib/src/mem.cc) and mempool (same file) to eg new char[blah] or
something similar so that they are also tracked.

The tracking is not thread safe at this point, you could likely add a
pthread mutex though if you need that (I'd just add them around the
new/delete implementations if I can get away with it).

Tracking is done by calling MemTagger::TagStack::PushTag("foo") which
will tag all memory allocation until the next PushTag as coming from
"foo". You can use PopTag("foo") to remove the current one and use the
previous one (same as the hierarchical timers). I way to tag a
fraction of the Cactus code would be to have the timers push and pop
the tags.

Yours,
Roland

- --
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://keys.gnupg.net.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlN2kiIACgkQTiFSTN7SboXsgwCguMZFSS2CJm5dKDo49vQIX7BC
SeAAnjMXAOFqRNeIAZ2v8jeockOkvJtK
=PbpQ
-----END PGP SIGNATURE-----

_______________________________________________
Users mailing list
Users@einsteintoolkit.org
http://lists.einsteintoolkit.org/mailman/listinfo/users




--
Erik Schnetter <schnetter@cct.lsu.edu>
http://www.perimeterinstitute.ca/personal/eschnetter/