gpt4 book ai didi

c - 将 tcmalloc/jemalloc 与自定义内存池管理器一起使用

转载 作者:IT王子 更新时间:2023-10-28 23:36:27 27 4
gpt4 key购买 nike

我想在内存池中使用像 jemalloc/tcmalloc 这样的高性能通用分配器。有这样做的指南吗?我不想使用 jemalloc/tcmalloc 作为 malloc 的替代品。

我有一个使用 libarena 的内存池,并划分了一个较大的内存区域 (2GB)。我想在这个舞台上创建像 gslice 这样的固定大小的对象池,比如 1 GB。 (如 Bonwick 平板分配器)并希望将剩余的内存用于可变大小的通用分配。我想让 jemalloc/tcmalloc 使用这个内存区域。这可能吗?关于如何进行的任何想法?如果有备用库,我也想听听。

最佳答案

这是一个老问题,但终于有了一个肯定的答案,至少在 jemalloc被关注到。从 jemalloc 4.0.0版本,可以使用mallctl使用 arena.<i>.chunk_hooks 为分 block 分配获取内存的位置设置 Hook 界面。这些钩子(Hook)在 jemalloc manpage 中有详细记录。 ,包括许多交叉引用。

我不知道 tcmalloc 中有任何类似的界面;我不使用它。

我回答了 similar question半最近;那里也可能有有用的信息。

关于c - 将 tcmalloc/jemalloc 与自定义内存池管理器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16933103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com