【问题标题】:from gdb core, find largest available block of memory从 gdb 核心,找到最大的可用内存块
【发布时间】:2017-06-28 09:58:53
【问题描述】:

我有一个来自系统的进程核心,如果它分配的内存超过配置的限制,它会终止进程。 由于内存碎片化,进程似乎崩溃了。 为了确认我想知道最大的可用内存块。 有没有办法从核心中找到它。

【问题讨论】:

标签: gdb core fragmentation


【解决方案1】:

假设您使用的是 Linux glibc,gdb 插件(例如 libheapgefpwndbg)提供了检查空闲块的功能。

另外,如果你可以让 OOM 重新发生,你可以尝试一些内存分配器,它可以在 malloc arena 布局崩溃之前自行漂亮地打印它(包括jemalloc,请参阅Use Case: Basic Allocator Statistics

Valgrind 如果内存泄漏可能会有所帮助,但我不确定它对内存碎片有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多