如果有MALLOC这环境变量,会有用这个环境变量的去建立Redis。而且libc并不是默认的内存分配器, 默认是jemalloc,因为jemalloc被证明比libc有更少的fragmentation problems。但是如果没有jemalloc 而只有libc会make出错。所以解决方法有如下两种:

(1)指定参数:

make MALLOC=libc

(2)安装jemalloc:jemalloc干了malloc干的活,而且干得好一些,主要体现在避免内存碎片与并发扩展上。

  1. 下载jemalloc:

    https://github.com/jemalloc/jemalloc/releases

 2.编译安装:

    ./configure --prefix=/usr/local/jemalloc && make && make install

 3.添加链接:

    echo /usr/local/jemalloc/lib >> /etc/ld.so.conf

 4.刷新库:

    ldconfig