一 tcmalloc简介

1.tcmalloc(thread-caching malloc),即线程缓存malloc,为每个线程分配本地的cache;

2.线程所需的小对象(几十个字节到1K左右)都从本地cache取;

3.同时tcmalloc维护进程级别的cache,大对象从这里的cache取数据,但同时tcmalloc会加自旋锁(spinlock),这样大对象分配内存会耗费更多的性能;

4.如果应用程序需要频繁分配与释放小对象,则可以考虑使用tcmalloc。

二 tcmalloc使用

应用程序无需修改new或者malloc,只需要在安装tcmalloc系统上加上-ltcmalloc这样编译选项即可,如:

g++ -std=c++11 -g -o Test test.cpp -I ./ -ltcmalloc

三 tcmalloc安装

tcmalloc已在centos7.5编译成动态库,获取路径:\\10.50.21.118\Common\tcmalloc

#先安装unwind./configure && make && make install
#后安装tcmalloc./configure --enable-frame-pointers && make && make install

四 tcmalloc测试

1.测试环境:centos7.5 单核虚拟机

2.测试方法:单进程,单线程模式,使用new和delete对不同类型数据(100字节到1600字节)申请和释放,对每类数据测试6次,算平均耗时。

3.测试结果:

4.测试源码:https://github.com/wangzhicheng2013/tcmalloc

5.测试结论:

(1)小对象(1K以下),tcmalloc有明显优势;

(2)通过分析现场包,每个分组packet基本在几十字节到1K左右,因此可以运用tcmalloc进行优化。

tcmalloc性能测试相关推荐

  1. tcmalloc jemalloc glibc内存分配管理模块性能测试对比

    tcmalloc是谷歌提供的内存分配管理模块 jemalloc是FreeBSD提供的内存分配管理模块 glibc是Linux提供的内存分配管理模块 并发16个线程,分配压测3次,每次压15分钟,可以看 ...

  2. 软件性能测试vu脚本录制,利用LR插件完成性能测试脚本

    ● 菜单中会多出一项[Vuser]的菜单.这个菜单就是我们主要使用的内容. ● 另外,在对象库中也会增加LoadRunner相应的对象.这些对象的使用和软件中其他对象的使用没有什么分别.这些对应都是可 ...

  3. java反射最佳实践,java反射性能测试分析

    java反射性能测试分析 java有别于其他编程语言而让我着迷的特性有很多,其中最喜欢的是接口设计,他让我们设计的东西具有美感.同样反射也是我比较喜欢的一个特性,他让程序自动运行,动态加载成为了可能, ...

  4. tcmalloc mysql 缓存_Tcmalloc优化Mysql内存管理

    实验环境: OS:Redhat 5.3 64bit Mysql:mysql 5.5.29 TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能, ...

  5. TCMalloc(Thread-Caching malloc) 基本设计原理

    文章目录 背景 如何使用 架构概览 1. TCMalloc Front-end 1.1 小对象和大对象的内存分配过程 1.2 内存释放过程 1.3 Per-CPU mode 1.4 Per-threa ...

  6. linux命令 iperf-网络性能测试工具

    iperf命令是一个网络性能测试工具.iperf可以测试TCP和UDP带宽质量.iperf可以测量最大TCP带宽,具有多种参数和UDP特性.iperf可以报告带宽,延迟抖动和数据包丢失.利用iperf ...

  7. Jmeter性能测试 入门

    Jmeter性能测试 入门 原文:Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jme ...

  8. sysbench的安装和做性能测试

    sysbench的安装和做性能测试 http://imysql.cn/node/312 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况. ...

  9. 利用TCMalloc替换Nginx和Redis默认glibc库的malloc内存分配

    TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员.与标准的glibc库的Malloc相比,TCMalloc库在内存分 ...

最新文章

  1. python得到windows自启动列表
  2. 公有云 私有云 混合云_混合云的承诺,收益和产品
  3. 使用Apache Felix文件安装配置OSGi服务
  4. 扎根本地连接未来 千米网的电商“红海”生存术
  5. python实验三答案_20192116 实验三《Python程序设计》实验报告
  6. jsp 点击左边菜单 菜单栏没有停在二级菜单上_Excel – 如何快速导入网页上的表格?...
  7. python编程入门教学-史上最全Python编程基础入门教程
  8. thoughtworks业务需求分析师面试总结
  9. 传输线模式<TEM TE TM EH HE>
  10. 利用audacity分析浊音、清音与爆破音的信号特性
  11. 电脑桌面显示计算机信息,在桌面背景图片上显示各种电脑信息BGInfo 4.28
  12. 微信小程序 黑色背景 页面跳转闪屏
  13. VLC保存网络流视频
  14. 小牛采购管理系统 v3.01 bt
  15. 【产品开发】北邮国际学院大二下期末复习
  16. 激光多普勒振动测量技术简述
  17. 线性方程组的矩阵形式
  18. 教师博客能不能改成学生博客_学生应该博客吗?
  19. 【肌电信号】基于matlab GUI脉搏信号分析(去噪+特征提取)【含Matlab源码 862期】
  20. 爬取百度地图 商店铺联系电话地址定位

热门文章

  1. 基于物联网技术的智能家居设计
  2. pcDuino指纹识别
  3. source ./ 和 . 的区别
  4. PXE自动化安装CentOS 8
  5. 打了三年ACM,拿了几个金牌
  6. stm32f4xx-ADC
  7. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能
  8. Linux开机启动流程分析
  9. Theos MakeFile的内容
  10. ChatGPT史上最强AI,即将取代人类?