我在Linux下有一个核心转储。这个过程继续进行内存分配,我需要找到至少发生这种情况的库。
您建议使用哪种工具来全面了解内存的来源?我知道问题很难/无法解决。任何能够提供一些线索的工具都会有所帮助。
[这是一个python进程,怀疑是内存分配是由用C编写的一个自定义模块引起的]
答案 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