如果有MALLOC这环境变量,会有用这个环境变量的去建立Redis。而且libc并不是默认的内存分配器, 默认是jemalloc,因为jemalloc被证明比libc有更少的fragmentation problems。但是如果没有jemalloc 而只有libc会make出错。所以解决方法有如下两种:
(1)指定参数:
make MALLOC=libc
(2)安装jemalloc:jemalloc干了malloc干的活,而且干得好一些,主要体现在避免内存碎片与并发扩展上。
-
下载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
本文转自 棋帅小七 51CTO博客,原文链接:http://blog.51cto.com/xvjunjie/2071671