如何對正在運行的進程,進行heap profile
簡單來說, 就是先preload上tcmalloc, 日常用用沒啥問題, 當感覺出現問題時, gdb attach 上, 然後執行 call HeapProfilerStart("xxx") , 過一段時間, 再執行call HeapProfilerStop, 產出相應的profile文件, 然後detach出進程
以下為一些未整理的 link
https://gperftools.github.io/gperftools/heapprofile.html
https://linux.cn/article-9588-1.html
https://unix.stackexchange.com/questions/36450/how-can-i-find-a-memory-leak-of-a-running-process
https://stackoverflow.com/questions/18455698/lightweight-memory-leak-debugging-on-linux
https://bugzilla.redhat.com/show_bug.cgi?id=921676
https://stackoverflow.com/questions/2564752/examining-c-c-heap-memory-statistics-in-gdb
http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux
https://wizardforcel.gitbooks.io/100-gdb-tips/finish-and-return.html
https://en.wikibooks.org/wiki/Linux_Applications_Debugging_Techniques/Leaks
https://github.com/WuBingzheng/memleax
如何對正在運行的進程,進行heap profile