一、安装
下载地址: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
运行:

从上图中可以看出运行成功~
参考
[1]. jemalloc在linux上从安装到使用:https://blog.youkuaiyun.com/MaxWoods/article/details/78544417
[2]. 在Linux安装和编译jemalloc的方法:https://blog.youkuaiyun.com/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系统中安装jemalloc的步骤,包括下载源码、解压、编译和安装。在安装过程中可能会遇到权限问题,解决方法是使用特定的make install命令。在使用jemalloc时,通过编写测试程序并尝试不同编译方式,最终成功运行。参考了相关资料以确保安装和使用的准确性。
1559

被折叠的 条评论
为什么被折叠?



