Linux中jemalloc的安装与使用

本文详细介绍了在Linux系统中安装jemalloc的步骤,包括下载源码、解压、编译和安装。在安装过程中可能会遇到权限问题,解决方法是使用特定的make install命令。在使用jemalloc时,通过编写测试程序并尝试不同编译方式,最终成功运行。参考了相关资料以确保安装和使用的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装

下载地址: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.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值