Version 2 (modified by hfinkel, 9 years ago) (diff) |
---|
ALCF memlog
This tool attempts to help you answer the question: Why is my application using so much memory?
Why was memlog created? There are several other tools that can support this use case, but none of them would work in our environment properly. They were either too slow, not runnable under the BG/Q CNK, not thread safe, did not properly support big-endian PPC64, supported only either static or dynamic linking, did not collect full backtraces, or just did not produce sufficiently-informative peak-usage output.
That having been said, memlog works quite well on my laptop in addition to working on our supercomputers.
If memlog does not quite do what you'd like, here are some other tools that might fit your needs:
- Valgrind Massif - http://valgrind.org/docs/manual/ms-manual.html
- Google Performance Tools - http://google-perftools.googlecode.com/svn/trunk/doc/heapprofile.html
- memtrail - https://github.com/jrfonseca/memtrail
- LeakTracer? - http://www.andreasen.org/LeakTracer/
- glibc mtrace - http://www.gnu.org/s/hello/manual/libc/Allocation-Debugging.html
- Heaptrack - http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux
- MemProf? - http://www.secretlabs.de/projects/memprof/
The dot/pdf output produced by memlog was definitely inspired by that produced by Google's pprof tool in the aforementioned package.