Linux中jemalloc的安装与使用

Jemalloc的编译安装 Jemalloc的编译安装 Jemalloc的交叉编译 Unsupported system page size问题解决 版本号为0问题解决 阅读详情
AI摘要

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

一、安装

下载地址: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 1. Jemalloc简介 jemalloc 是由 Jason Evans 在 FreeBSD 项目中引入的新一代内存分配器。它是一个通用的 malloc 实现,侧重于减少内存碎片和提升高并发场景下内存的分配效率,其目标是能够替代 malloc。jemalloc 应用十分广泛,在 Firefox、Redis、Rust、Netty 等出名的产品或者编程语言中都有大量使用。具体细节可以参考 Jason Evans 发表的论文 《A Scalable Concurrent malloc Implemen... 阅读详情

相关推荐

MySQL 通过 jemalloc 管理内存

jemalloc 强调了碎片避免和可扩展的并发支持。jemalloc于2005年首次作为FreeBSD libc分配器使用,从那以后它已经进入许多依赖于其可预测行为的应用程序。jemalloc适合多线程下内存分配管理,jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。有时候,我们想采用Jemalloc来替代glibc库的malloc内存管理方式,或者如果想启用TokuDB引擎,则就必须启用Jemalloc才行了。

渔夫数据库笔记 3903

jemalloc安装和使用

前言   jemalloc是一个内存分配器,最开始出现在FreeBSD上的libc中,FreeBSD最早使用phkmalloc,但它不是在多处理器系统且支持多线程的情况下设计的,为了解决多处理器系统和多线程应用程序的可扩展性瓶颈,由此诞生jemalloc,它是Jason Evans 2005年进行开发的,因此叫"je"。在2007年的时候为了改善Firefox在3.0版中的内存使用情况,使用jem...

zhugl的博客 2万+

Linux USB Gadget框架解析:从设备模拟到驱动开发实战

USB(通用串行总线)是现代计算机系统中应用最广泛的外设连接标准,其主从动态切换的特性使其在嵌入式系统中扮演着双重角色。与I2C、SPI等固定主从架构不同,USB设备需要同时支持主机(Host)和从机(Device)两种模式,这催生了Linux内核中独特的USB Gadget框架。该框架通过分层设计,将硬件控制器驱动(UDC)、功能逻辑(Function)和配置管理(Configfs)解耦,实现了灵活的设备模拟能力。在工程实践中,开发者可以利用Gadget框架快速实现U盘、网络适配器、串口转换器等常见USB

weixin_28007513的博客 561

jemalloc: another option

1. 概述 jemalloc起源于Jason Evans 2006年在BSDcan conference发表的论文:A Scalable Concurrent malloc Implementation for FreeBSD jason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况

yfk的专栏 1万+

FPGA中的CMAC硬核与Interlaken硬核

CMAC硬核和Interlaken硬核是FPGA中两种重要的内置功能模块,它们分别在CNN推理和高带宽芯片到芯片接口方面发挥着关键作用。FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)中的CMAC硬核与Interlaken硬核是两种重要的内置功能模块,它们在FPGA设计中扮演着关键角色。需要注意的是,FPGA设计中的硬核选择不仅取决于硬核本身的性能,还需要考虑硬核与FPGA芯片其他部分的兼容性、功耗、成本等因素。Interlaken硬核。

weixin_41230430的博客 1481

Ubuntu+Dify实战:如何让大模型知识库完美支持图片召回(附避坑指南)

本文详细介绍了在Ubuntu系统上部署Dify平台,并实现大模型知识库图片召回功能的完整实战方案。通过解析Dify处理图片的底层逻辑,重点讲解了配置Nginx代理服务器将本地图片路径转换为可公开访问URL的核心工程步骤,并提供了文档预处理、环境变量配置以及父子分段策略等高级技巧,帮助开发者构建图文并茂的AI应用,有效提升知识库的丰富性和用户体验。

c7d8e的博客 445

64位linux安装32位jemalloc,jemalloc在linux上从安装到使用

jemalloc在linux上从安装到使用上次在引导大家安装Redis时提到可能会报错:发现了redis有用到jemalloc。首先,jemalloc是干什么的?我们看看作者自己的介绍:jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable...

weixin_28938701的博客 578

NX二次开发常用函数——从一个坐标系到另一个坐标系的转换(UF_MTX4_csys_to_csys )相同体坐标转化

本文介绍了在项目开发中实现坐标转换的方法,重点解析了两个关键函数UF_MTX4_csys_to_csys和UF_MTX4_vec3_multiply的使用。通过4个变换矩阵(transform1-4)实现工作坐标系与绝对坐标系之间的相互转换,并以圆柱体为例详细说明了坐标转换的具体实现过程,包括原点、X/Y轴方向的转换处理。相比之前采用的if-else判断方法,这种矩阵转换方式在代码复杂度和运行效率上都更具优势。

weixin_47753171的博客 599

linux离线安装jemalloc,jemalloc在linux上从安装到使用

jemalloc在linux上从安装到使用上次在引导大家安装redis时提到可能会报错: 发现了redis有用到jemalloc。首先,jemalloc是干什么的?我们看看作者自己的介绍:jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalabl...

weixin_35765226的博客 605

关于React Native Android找不到node的错误

最近,按照官方文档初始化了一个React Native项目,但是在Android端运行的时候,报了如下的一个错误。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:recordFilesBeforeBundleCommandDebug'. Caused by: org.gradle.process.internal.ExecException: A problem occurred starting p

xiangzhihong8的专栏 4246

Qt实现窗口等比例缩放

在Qt中,实现窗口的等比例缩放是一个常见的需求。通过对窗口的尺寸进行调整,使得窗口的内容在缩放过程中保持相同的比例,可以提供更好的用户体验。通过以上的代码,我们实现了一个可以等比例缩放的Qt窗口。在调整窗口大小时,窗口中的标签和按钮将按比例缩放,保持内容的比例不变。首先,我们需要在Qt中创建一个窗口,并设置其内容。在该事件中,我们将根据窗口的新尺寸计算出合适的比例因子,并将其应用到窗口的内容上。现在,我们将添加功能,使得窗口可以等比例缩放。最后,我们将缩放因子应用到窗口中的标签和按钮上,调整它们的尺寸。

2301_79330511的博客 3958

jemalloc在linux上从安装到使用

首先,jemalloc是干什么的? 我们看看作者自己的介绍: >jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support 意思是说jemalloc干了malloc干的活,而且干得好一些,主要体现在避免内存碎片与并

xiaofei chain 4万+

【AI智能体】基于Coze制作跨境电商客服助手工作流实战操作详解

基于Coze制作跨境电商客服助手工作流实战操作详解

congge 3463

在Linux安装和编译jemalloc的方法

一、安装包下载 1.1从github上下载jemalloc程序,有两种方式,一种是下载gz文件,另一种是下载工程或clone工程文件。使用方法二下载或clone时没有configure、make等文件,不知道为什么,没深入研究。所以使用第一种方法直接下载gz压缩包,建议在linux环境下载。 下载路径如下: https://github.com/jemalloc/jemalloc/relea...

nedazq的专栏 1万+

2026 AI浏览器Agent终极对比:BrowserAct、agentBrowser、PP-Browser 谁更适合落地?(安装+实战+场景全覆盖)

1.不要盲目追求最新框架:很多人跟风用agentBrowser,结果业务是多步骤复杂办公流程,反而不如BrowserAct稳定;2.风控场景优先PP-Browser:但凡需要登录账号、频繁访问正规平台,无脑选PP-Browser,能避开99%的封禁问题;3.AI批量解析优先agentBrowser:做知识库爬取、网页内容总结、批量问答,省Token就是省成本,长期使用性价比碾压另外两者;4.个人开发调试优先BrowserAct:容错高、日志全、调试简单,新手上手最快,不容易报错翻车。

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 328

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

手把手教你在linux上安装 jemalloc, 以及解决一些安装过程中遇到的问题

目录 一. 安装 1. 首先从官网下载jemalloc的代码 2. 解压 3. 编译安装 4. 安装完成 二. 安装遇到的问题 一. 安装 1. 首先从官网下载jemalloc的代码 下载链接:https://github.com/jemalloc/jemalloc/archive/5.2.1.tar.gz $ wget https://github.com/jemalloc/jemalloc/archive/5.2.1.tar.gz 2. 解压 $ tar xzvf 5.2..

《穷小子的IT世界》的专栏 5680

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux Debian10 如何安装jemalloc 以及 Newer version of jemalloc required 问题

官网下载就差不多了 1663 cd jemalloc-dev/ 1664 ls 1665 code README 1666 ls 1667 ./autogen.sh 1668 make 1669 sudo make install 1672 history

summer的博客 673

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

linux离线安装jemalloc,Liunx安装 jemalloc == 内存管理工具

Liunx安装 jemalloc先github上下载:https://github.com/jemalloc/jemalloc/releases下载好源码包,解压[root@sasha-payment-4 ~ ]# cd /usr/local/src[root@sasha-payment-4 src ]# tar -xvf jemalloc-4.5.0.tar.bz2在此目录下预编译:#编译[ro...

weixin_35342111的博客 1023

Linux安装Redis问题--Error jemalloc/jemalloc.h: No such file or directory

[adlist.o] Error jemalloc/jemalloc.h: No such file or directory 此问题是在Linux中安装Redis出现的问题 安装过程 1. 解压从官网下载的Redis tar zxvf redis-5.0.10.tar.gz 2. 进入redis-5.0.10目录 cd redis-5.0.10 3. 编译redis make 问题1 报错:### 原因 CentOS默认没有安装gc

jf991804033的博客 1650

linux离线安装jemalloc,编程分享 - linux 安装 reddis服务 error: jemalloc/jemalloc.h: No such file or directory op...

【转载】 linux 安装 reddis服务 error: jemalloc/jemalloc.h: No such file or directory openssh-server cc: not foundLinuxRedis1.先下载redis压缩包wget http://download.redis.io/releases/redis-5.0.3.tar.gz2.解压文件tar -zxvf...

weixin_39981681的博客 296

linux下安装jemalloc

1.下载解压jemalloc 1.下载地址:https://github.com/jemalloc/jemalloc/releases我选择最新版本5.2.0 2.进入src目录 cd /usr/local/src 执行wget https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.b...

qq_23731295的博客 2887

Linux安装Jemalloc

在安装Jemalloc之前首选安装解压工具,Jemalloc源来自Github一般服务器很少安装bzip2解压bzip2安装命令登录后复制 yum -y install bzip21.CnetOS完整安装Jemalloc步骤登录后复制 #wget https://github.com/jemalloc/jemalloc...

weixin_41077636的博客 300
上一篇: Ubuntu下F2FS文件系统的安装与挂载
下一篇: Linux中vdbench的安装与使用
SweeNeil
博客等级 码龄9年 251粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值