jemalloc

article/2025/9/28 7:31:36

项目的线上服务器,在code中大量使用了std::map,发现就存在一个问题,这个map使用后,clear后内存并不能很好的释放,这个主要就是std malloc的问题。可以尝试使用jemalloc和tcmalloc这些三方的malloc库。在目前我项目中,jemalloc的表现最符合需求。

所以我们在apache module中使用jemalloc。这样map在clear的时候可以很好的释放内存,不会造成服务器的内存压力。

以下为apache module如何安装使用jemalloc的sample:

1.jemalloc的下载:

http://www.canonware.com/download/jemalloc/

使用最近版本的jemalloc:

http://www.canonware.com/download/jemalloc/jemalloc-3.5.0.tar.bz2

~$ wget http://www.canonware.com/download/jemalloc/jemalloc-3.5.0.tar.bz2

 

2.解压下载下来的tar包

~$ tar jxvf jemalloc-3.5.0.tar.bz2

 

3.安装jemalloc shell:

~$ ./configure --prefix=/usr/local

~$ make

~$ sudo make install

 

4.apache module使用jemalloc:

在apachectl脚本最前面中加入:

export LD_PRELOAD=/usr/local/lib/libjemalloc.so



5.检查apache module是否正常引用了jemalloc:

~$ sudo cat/proc/$httpd_pid/maps



http://chatgpt.dhexx.cn/article/CKe7WD9t.shtml

相关文章

Jacob简介

一、Jacob 介绍 Jacob 是 JAVA-COM Bridge的缩写,是一个中间件,能够提供自动化访问MS系统下COM组件和Win32 libraries的功能。 MS系统提供的COM组件 COM组件对象IDMS WordWord.ApplicationMS ExcelExcel.ApplicationMS PowerpointPowerpoint.Applicat…

Jacoco 入门使用

Jacoco入门使用 一、背景1. 为什么需要代码覆盖率2. 原理3. 插桩方式 二、项目实战on the fly模式(运行时插桩)1. 原理2. 配置执行2.1 环境准备2.2 以jacoco代理方式启动被测服务2.2.1 参数说明2.2.2 多种方式启动服务方式一:命令行方式二:maven插件启动…

关于jacoco的学习

目录 jacoco简单介绍 idea使用jacoco简单步骤 ANT构建 TOMCAT构建 准备工作 Tomcat配置 jacoco简单介绍 Jacoco是一个开源的覆盖率工具。Jacoco可以嵌入到Ant 、Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序。很多第三方的工具提…

JaCoCo官方教程

翻译自官方文档 1 概念 1.1 任务 - Mission JaCoCo应该为基于Java VM的环境中的代码覆盖率分析提供标准技术。重点是提供一个轻量级,灵活且文档齐全的库,以与各种构建和开发工具集成。 有几种适用于Java的开源覆盖技术。在实现Eclipse插件EclEmma时&am…

Jacoco简介

两分钟带你了解Jacoco 从测试小白一跃成为Testng专家 Java代码覆盖率实现方式有哪些 Jacoco的出发点是为基于JVM运行的代码提供代码覆盖率统计,期望提供轻量级的、可伸缩的、文档较全的库文件来集成各类构建和开发工具。 Java代码覆盖率工具有几款开源工具&#xff…

Maven工程加入Jacoo生成代码测试覆盖率报告

完整代码Github地址: https://github.com/mgljava/jacoco-demo Maven:Apache Maven是一个软件项目管理和理解工具。Maven基于项目对象模型(POM)的概念,可以从中心信息管理项目的构建、报告和文档 Jacoco:Java Code Coverage Lib…

Java单元覆盖率工具JaCoCo详细理解和使用(配置+示例)

一、代码覆盖率理解 代码覆盖(Code coverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。 简单来理解,就是单元测试中代码执行量与代码总量之间的比率。 Java常用的单元测试…

怎么自学C语言 入门

第一阶段:C语言基础 在开始学习C语言基础时,要反问自己为什么学C语言,如何学好C语言。同时要知道什么是C语言以及C语言的发展。 当对这些知识有了一个概念之后,就正式开始学习C语言了,其中,可能会学到数据…

C语言入门03

运算符 流程控制语句

【C语言】C语言入门经典题目(范围广,内容多)

✨作者:小孙的代码分享 ✨专栏:《C语言入门》 ✨送给各位的一句话:空杯心态 才能学到新知 ✨希望大家看完这些题目有所收获,别忘了,点赞评论! 目录 前言 😄 字符转ASCII码🔥 判断闰…

C语言入门1:Hello World

C语言入门1:Hello World 1、第一个C语言程序:Hello World!(1)编辑hello.c文件(2)在hello.c下面编辑如下代码,并保存(3)编译hello.c文件(4&#xf…

C语言入门(1)——Hello World

C语言入门(1)——Hello World 1. 第一个C语言程序:Hello World 开始的第一个程序是一个最简单的程序,也就是最经典的Hello World程序,它的功能为打印出Hello World。程序的内容非常简单,也是C语言编写程序的基本结构框架。 1.示…

c语言入门介绍 Hello, World

相信每一个c语言的初学者的第一个程序都是从 Hello, World! 开始的吧。不过新手刚开始接触,应该有许多不懂的地方,下面我就通过Visual Studio 2019编程环境来简单介绍一下这个程序。 第一句是由于Visual Studio 2019编程环境中scanf函数(输入…

C语言入门的三个简易程序

文章目录 一、打印100~200之间的素数方法一:1.思路2.代码如下3.结果图 方法二:1.思路2.代码如下3.结果图 二、打印乘法口诀表1.思路2.代码如下3.结果图 三、输出1000~2000之间的闰年1.思路2.代码如下3.结果图 四、提升 一、打印100&#xff5…

C语言入门 九九乘法表

利用C语言 输出九九乘法表 用双重循环来完成,外循环用变量i控制输出的行数(总共九行)同时i也是被乘数。 内循环用变量j循还控制列号,同时j也是乘数,规定列号不能大于行号,每一行输出结束后换行。 #inclu…

C语言入门之入门

错误示范 #include<stdio.h> //头文件int mian(void){printf("你好世界&#xff01;"); //标准输出函数&#xff0c;是一个库函数return 0;}上面这个程序是有问题的&#xff0c;第一次写的时候没有运行成功 编译环境是 Visual C2010 查找之后发现是main 写…

C语言入门(初识C语言)

C语言入门&#xff08;初识C语言&#xff09; 前言什么是C语言&#xff1f;为什么选择C语言&#xff1f;计算机语言的发展高级计算机语言中的经典&#xff1a;C语言 初识C语言&#xff08;正片开始&#xff09;一.第一个C语言程序&#xff08;你好&#xff0c;C语言&#xff09…

网络流(一)最大流问题EdmondsKarp和最小费用最大流

一、最大流问题 如下图所示&#xff0c;假设需要把一些物品从结点S&#xff08;称为源点&#xff09;运送到结点t&#xff08;称为汇点&#xff09;&#xff0c;可以从其它结点中转。每条边上的权值&#xff08;左图&#xff09;表示该条路径最多能运送的物品数&#xff0c;右…

最大流,最小费用最大流:解析 + 各种板子

网络流初步 Edmond-Karp算法 网络流的基本概念 源点&#xff0c;这个点只有流量的流出&#xff0c;没有流入。汇点&#xff0c;这个点只有流量的流入&#xff0c;没有流出。容量&#xff0c;每条有向边的最大可承受的流的理论大小。流量&#xff0c;每条有向边的最大可承受的…

分配问题(最小费用最大流)

题目&#xff1a;有 n 件工作要分配给 n 个人做。第 i个人做第 j件工作产生的效益为 。试设计一个将 n件工作分配给 n个人做的分配方案&#xff0c;使产生的总效益最大。 分析&#xff1a;这是一道多解法问题&#xff0c;可以用带剪枝的搜索和图论的最小费用最大流的方法来做&…