0

I'm into Redis open source project these days, so I've read README of the project.

Reading that, I gotta question about Memory allocator for Redis.

~~~

Selecting a non-default memory allocator when building Redis is done by setting the MALLOC environment variable. Redis is compiled and linked against libc malloc by default, with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc.

~~~

I'm having a hard time understanding the reason why jemalloc is default for Redis on Linux System.

I saw briefly about jemalloc, and they said, "jemalloc implementation emphasizes fragmentation avoidance and scalable concurrency support".

Is that just for better performance of Redis on Linux, or is there any reason for using jemalloc otherwise?

Thanks for reading my question guys.

  • 2
    Why isn’t the reduced fragmentation good enough reason? – Sami Kuhmonen Oct 20 '17 at 07:08
  • @SamiKuhmonen As I wrote there, I'm curious about jemalloc being default on Linux system only. Why isn't jemalloc default on other operation system? I thought reduced fragmentation is also good enough for other OS. – eminentstar Oct 20 '17 at 07:13

0 Answers0