【问题标题】:Impact of Increasing GLIBC malloc() M_MMAP_THRESHOLD to 1GB将 GLIBC malloc() M_MMAP_THRESHOLD 增加到 1GB 的影响
【发布时间】:2018-09-24 08:58:26
【问题描述】:

我正在将 glibc(2.21 版) 用于页面大小(2MB 和 64MB)的系统。但是对于这个非常大的页面大小,会有更多的碎片。所以我使用 mallopt() 将 M_MMAP_THRESHOLD 增加到 32MB 仍然存在碎片。所以我想将 M_MMAP_THRESHOLD 增加到 1 GB。这对 bin 指数计算有什么影响吗?

【问题讨论】:

    标签: malloc glibc


    【解决方案1】:

    这个问题是answered on the libc-help list:

    如果增加M_MMAP_THRESHOLD,还必须将堆大小增加到 32 GiB(malloc/arena.c 中的HEAP_MAX_SIZE)。 2 * DEFAULT_MMAP_THRESHOLD_MAX 的默认值可能太小(假设 DEFAULT_MMAP_THRESHOLD_MAX 将是 2 GiB)。否则,对于 2 GiB 和 HEAP_MAX_SIZE 之间的分配请求,您将产生大量碎片。

    【讨论】:

    • 非常感谢先生如此简洁地给出答案,我是在 libc-help 上询问此问题答案的同一个人。
    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 2020-02-02
    • 2012-11-09
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 2016-12-03
    相关资源
    最近更新 更多