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