linux jemalloc 内存分配器 安装与使用

一、安装

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

目前最新版本为jemalloc-5.2.0

下载之后解压文件:

下面正式开始安装~

step 1:

./autogen.sh

step 2:

make

step 3:

扫描二维码关注公众号,回复: 13043804 查看本文章
sudo make install

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

就简单的三步,安装完成

安装完成后在 /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 <stdio.h>
#include <jemalloc/jemalloc.h>
  
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

 运行:

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

猜你喜欢

转载自blog.csdn.net/whatday/article/details/115203034