Linux中jemalloc的安装与使用

一、安装

下载地址:https://github.com/jemalloc/jemalloc/releases

Linux中jemalloc的安装与使用_第1张图片

目前最新版本为jemalloc-5.2.0

下载之后解压文件:

下面正式开始安装~

step 1:

./autogen.sh

Linux中jemalloc的安装与使用_第2张图片

step 2:

make

Linux中jemalloc的安装与使用_第3张图片

step 3:

sudo make install

Linux中jemalloc的安装与使用_第4张图片

如果这一步没有超级权限的话会有如下问题:

Linux中jemalloc的安装与使用_第5张图片

就简单的三步,安装完成

安装完成后在 /usr/local下的lib、include、bin目录下会看到jemalloc的相关内容。

(1)/usr/local/lib

(2)/usr/local/include

(3)/usr/local/bin

二、安装时可能遇到的问题

1、install: cannot stat ‘doc/jemalloc.html’: No such file or directory

解决方案:

在make install时使用如下语句:

make install_bin install_include install_lib

 来源:https://github.com/jemalloc/jemalloc/issues/231

三、使用

编写测试程序jemalloc.c:

#include 
#include 
  
void jemalloc_test(int i)
{
        malloc(i*100);
}

int main(int argc, char **argv)
{
        int i;
        for(i=0;i<1000;i++)
        {
                jemalloc_test(i);
        }
        malloc_stats_print(NULL,NULL,NULL);
        return 0;
}

对于编译,首先一步一步来测试,用了下面的编译方式,前两种都失败。

编译方式1:

gcc jemalloc.c -o jemalloc

编译失败。

编译方式2:

gcc jemalloc.c -o jemalloc -ljemalloc

编译成功,运行测试:

运行失败

编译方式3:

首先切换到超级用户权限:

sudo bash

添加jmalloc库进入系统: 

echo /usr/local/lib >> /etc/ld.so.conf
ldconfig

 编译:

gcc jemalloc.c -o jemalloc -ljemalloc

 运行:

Linux中jemalloc的安装与使用_第6张图片

从上图中可以看出运行成功~

 

参考

[1]. jemalloc在linux上从安装到使用:https://blog.csdn.net/MaxWoods/article/details/78544417

[2]. 在Linux安装和编译jemalloc的方法:https://blog.csdn.net/nedazq/article/details/83935133

 

更新

好吧,写完之后才发现有一些比较权威的指导,再此列出来:

(1)https://github.com/aerospike/jemalloc/blob/master/INSTALL

在这个教程里面,安装时增加了一步:

make dist

(2)https://github.com/jemalloc/jemalloc/wiki/Getting-Started

你可能感兴趣的:(Linux)