0

这些天我进入了 Redis 开源项目,所以我已经阅读了该项目的 README。

读到这里,我不得不质疑 Redis 的内存分配器。

~~~

在构建 Redis 时选择非默认内存分配器是通过设置 MALLOC 环境变量来完成的。默认情况下,Redis 是针对 libc malloc 编译和链接的,但 jemalloc 是 Linux 系统上的默认值。之所以选择此默认值,是因为 jemalloc 已被证明比 libc malloc 具有更少的碎片问题。

~~~

我很难理解jemallocLinux 系统上 Redis 的默认设置的原因。

我简要地看到了 jemalloc,他们说,“jemalloc 的实现强调避免碎片和可扩展的并发支持”。

这仅仅是为了在 Linux 上获得更好的 Redis 性能,还是有任何理由使用 jemalloc?

感谢您阅读我的问题。

4

0 回答 0