【问题标题】:How to analyze memory usage from a core dump?如何从核心转储中分析内存使用情况?
【发布时间】:2011-06-09 02:49:08
【问题描述】:

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

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

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

【问题讨论】:

标签: python linux memory-leaks coredump


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    解决方案:

    1) 使用 valgrind 找出 Invalid Write 或 Invalid Free of Memory

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多