• Oran Agra's avatar
    Set Jemalloc --disable-cache-oblivious to reduce memory overhead (#12315) · 07c14672
    Oran Agra authored
    Apparently for large size classes Jemalloc allocate some extra
    memory (can be up to 25% overhead for allocations of 16kb).
    see https://github.com/jemalloc/jemalloc/issues/1098#issuecomment-1589870476
    
    p.s. from Redis's perspective that looks like external fragmentation,
    (i.e. allocated bytes will be low, and active pages bytes will be large)
    which  can cause active-defrag to eat CPU cycles in vain.
    
    Some details about this mechanism we disable:
    ---------------------------------------------------------------
    Disabling this mechanism only affects large allocations (above 16kb)
    Not only that it isn't expected to cause any performance regressions,
    it's actually recommended, unless you have a specific workload pattern
    and hardware that benefit from this feature -- by default it's enabled and
    adds address randomization to all large buffers, by over allocating 1 page
    per large size class, and offsetting into that page to mak...
    07c14672
Makefile 3.14 KB