编译redis时报错zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:

如果有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




 本文转自 棋帅小七 51CTO博客,原文链接:http://blog.51cto.com/xvjunjie/2071671

上一篇:从定性遥感到定量遥感——大数据时代的空间数据科学


下一篇:程序员是要专精,还是要广度?