redis安装报错:zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录

19 篇文章 2 订阅
当尝试编译Redis时,遇到'jemalloc/jemalloc.h'找不到的错误。原因是默认在Linux系统上Redis使用jemalloc作为内存分配器,但缺少相应的库。解决此问题的方法是通过设置'MALLOC'环境变量。若要强制使用libcmalloc,执行'make MALLOC=libc';而在MacOSX上编译jemalloc,使用'make MALLOC=jemalloc'。
摘要由CSDN通过智能技术生成

问题描述
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
在这里插入图片描述
问题原因
在README 中有这样一段话。

Allocator

Selecting a non-default memory allocator when building Redis is done by setting the MALLOC environment variable. Redis is compiled and linked against libc malloc by default, with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc.
To force compiling against libc malloc, use:

% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc

(百度翻译) 在构建Redis时选择非默认内存分配器是通过设置“MALLOC”环境变量。Redis是针对libc编译和链接的
默认情况下为malloc,但在Linux上为默认的jemalloc除外系统。选择此默认值是因为jemalloc已被证明具有更少的比libc和malloc更容易出现碎片问题。
要强制针对libc malloc进行编译,请使用:
%make MALLOC=libc 要在Mac OS
Mac OS X系统上针对jemalloc进行编译,请使用:
%make MALLOC=jemalloc

解决方式
执行命令:

make MALLOC=libc

在这里插入图片描述

  • 11
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级码里喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值