一、安装
下载地址:https://github.com/jemalloc/jemalloc/releases
目前最新版本为jemalloc-5.2.0
下载之后解压文件:
下面正式开始安装~
step 1:
./autogen.sh
step 2:
make
step 3:
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
运行:
从上图中可以看出运行成功~