这些天我进入了 Redis 开源项目,所以我已经阅读了该项目的 README。
读到这里,我不得不质疑 Redis 的内存分配器。
~~~
在构建 Redis 时选择非默认内存分配器是通过设置 MALLOC 环境变量来完成的。默认情况下,Redis 是针对 libc malloc 编译和链接的,但 jemalloc 是 Linux 系统上的默认值。之所以选择此默认值,是因为 jemalloc 已被证明比 libc malloc 具有更少的碎片问题。
~~~
我很难理解jemalloc
Linux 系统上 Redis 的默认设置的原因。
我简要地看到了 jemalloc,他们说,“jemalloc 的实现强调避免碎片和可扩展的并发支持”。
这仅仅是为了在 Linux 上获得更好的 Redis 性能,还是有任何理由使用 jemalloc?
感谢您阅读我的问题。