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

2024-04-20 05:59:38 发布

您现在位置:Python中文网/ 问答频道 /正文

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

您建议使用什么工具来大致了解内存的去向?我知道这个问题很难完全解决。任何至少能提供一些线索的工具都会有帮助。

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


Tags: 模块工具内存核心进程过程linux情况
2条回答

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

解决方案:

1)使用valgrind查找无效写入或无效空闲内存

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

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

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

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

相关问题 更多 >