zoukankan      html  css  js  c++  java
  • redis编译问题

    在编译redis时,出现以下问题

    In file included from adlist.c:34:0:
    zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
     #include <jemalloc/jemalloc.h>
    

      是因为编译redis默认使用的分配器是jemalloc,所以想要解决如上问题的话,有两种方式

      

      第一种 

        yum -y install jemalloc-devel
    

      第二种

        我们可以查看解压之后的redis文件夹,里面有一个README.md

        

        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
    

      通过查看文件我们可以知道,我们可以使用如下命令,从而使用改变分配器

        make MALLOC=libc    
    

    这两种方法都可以解决上述的问题,希望可以帮到大家。

  • 相关阅读:
    Java高并发秒时啊API之Service层
    Junit测试类生成
    Java高并发秒时啊API之业务分析与Dao层2
    Java高并发秒时啊API之业务分析与Dao层1
    JSP知识_EL表达式
    Maven_3_webAPP
    Maven_2_核心知识
    添加bean的监听
    异步上传文件
    ACTIVITI工作流的集成记录
  • 原文地址:https://www.cnblogs.com/xll970105/p/9894584.html
Copyright © 2011-2022 走看看