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

python linux memory-leaks coredump

8115 观看

2回复

191 作者的声誉

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

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

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

作者: Andraž Tori 的来源 发布者: 2011 年 1 月 14 日

回应 (2)


0

173 作者的声誉

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

作者: sunil 发布者: 01.10.2017 04:57

0

60 作者的声誉

问题:需要找到哪个库故障记忆。

解:

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

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

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

$ gdb (your executable) -c (core)
$ vmmap 
作者: Tyson90 发布者: 16.01.2019 12:42
32x32