zhu894532094 发表于 2018-11-3 06:08:20

编译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干的活,而且干得好一些,主要体现在避免内存碎片与并发扩展上。

[*]  下载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

页: [1]
查看完整版本: 编译redis时报错zmalloc.h:50:31: 错误:jemalloc/jemalloc.h: