我的目标是从死后核心文件中弄清楚为什么特定进程消耗大量内存.有什么总结我可以得到某种方式?显而易见的是valgrind是不可能的,因为我无法实时访问流程.
首先得到类似于/ proc /“pid”/ maps的输出会有所帮助,但是
maintenance info sections
(如此处所述:GDB: Listing all mapped memory regions for a crashed process)在gdb中没有显示堆内存消耗.
info proc map
是一个选项,因为我可以使用完全相同的代码访问机器,但据我所知,它是不正确的.我的进程使用700MB-s,但看到的地图只占大约10 MB.而且我没有看到.so-s在那里可见
maintenance print statistics
你知道其他可能有用的命令吗?
我可以随时检测代码,但这并不容易.通过指针到达所有分配的数据就像大海捞针一样.
你有什么想法?
最佳答案