如何分析核心转储中的内存使用情况?

时间:2011-01-14 12:05:11

标签: python linux memory-leaks coredump

我在Linux下有一个核心转储。这个过程继续进行内存分配,我需要找到至少发生这种情况的库。

您建议使用哪种工具来全面了解内存的来源?我知道问题很难/无法解决。任何能够提供一些线索的工具都会有所帮助。

[这是一个python进程,怀疑是内存分配是由用C编写的一个自定义模块引起的]

2 个答案:

答案 0 :(得分:0)

尝试在启用了调用图的python进程上运行linux perf工具。 如果它的多线程进程将所有相关的LWP作为参数。

答案 1 :(得分:0)

问题:需要查找哪个库使内存故障。

解决方案:

1)使用valgrind找出无效的写入或无效的内存空间

$ valgrind --tool=memcheck --error-limit=no --track-origins=yes (python your script) 

2)使用gdb的mmap命令找出库所在的地址空间

$ gdb (your executable) -c (core)
$ vmmap