<div dir="ltr">I recommend gperftools <<a href="https://code.google.com/p/gperftools/">https://code.google.com/p/gperftools/</a>> for memory checking.<div><br></div><div>-erik</div></div><div class="gmail_extra"><br>
<br><div class="gmail_quote">On Fri, May 16, 2014 at 6:33 PM, Roland Haas <span dir="ltr"><<a href="mailto:roland.haas@physics.gatech.edu" target="_blank">roland.haas@physics.gatech.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
Hello Ian,<br>
<div class=""><br>
> Does anyone else see problems like this?<br>
</div>I think Jim Healy saw growth in memory quite a while back.<br>
<br>
If you are suspecting that the memory consumption is due to C++ code<br>
(ie Carpet other then you can try the attached memory tracer [there is<br>
a main() function at the end to show how to use it] to tag all calls<br>
to new/delete to the code). For Carpet I suspect that you may also<br>
want to change the malloc() call in mem<T>'s constructor (in<br>
CarpetLib/src/mem.cc) and mempool (same file) to eg new char[blah] or<br>
something similar so that they are also tracked.<br>
<br>
The tracking is not thread safe at this point, you could likely add a<br>
pthread mutex though if you need that (I'd just add them around the<br>
new/delete implementations if I can get away with it).<br>
<br>
Tracking is done by calling MemTagger::TagStack::PushTag("foo") which<br>
will tag all memory allocation until the next PushTag as coming from<br>
"foo". You can use PopTag("foo") to remove the current one and use the<br>
previous one (same as the hierarchical timers). I way to tag a<br>
fraction of the Cactus code would be to have the timers push and pop<br>
the tags.<br>
<br>
Yours,<br>
Roland<br>
<br>
- --<br>
My email is as private as my paper mail. I therefore support encrypting<br>
and signing email messages. Get my PGP key from <a href="http://keys.gnupg.net" target="_blank">http://keys.gnupg.net</a>.<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1<br>
Comment: Using GnuPG with Icedove - <a href="http://www.enigmail.net/" target="_blank">http://www.enigmail.net/</a><br>
<br>
iEYEARECAAYFAlN2kiIACgkQTiFSTN7SboXsgwCguMZFSS2CJm5dKDo49vQIX7BC<br>
SeAAnjMXAOFqRNeIAZ2v8jeockOkvJtK<br>
=PbpQ<br>
-----END PGP SIGNATURE-----<br>
<br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@einsteintoolkit.org">Users@einsteintoolkit.org</a><br>
<a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" target="_blank">http://lists.einsteintoolkit.org/mailman/listinfo/users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Erik Schnetter <<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>><br><a href="http://www.perimeterinstitute.ca/personal/eschnetter/" target="_blank">http://www.perimeterinstitute.ca/personal/eschnetter/</a>
</div>