linux tcmalloc,内存管理TCMalloc 安装和使用
TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc、heap-checker、heap-profiler和cpu-profiler),这个工具是开源的,以源码形式发布。如果觉得自己维护一个内存分配器麻烦的话,可以考虑将TCMalloc静态库连接到你的程序中。使用的时候和glibc中的malloc调用方式一模一样。你需要做的只是把TCMalloc的动态库或者静态库连接进你的程序中,你就可以获得一个高效,快速,安全的内存分配器。
与标准的glibc库的malloc相比,TCMalloc在内存的分配效率和速度要高,可以在高并发的情况下很好的控制内存的使用,提高服务器的性能,降低负载
1. libunwind安装
4位操作系统请先安装 libunwind库,32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。 #tar zxvf libunwind-1.1.tar.gz
#cd libunwind-1.1
#./autogen.sh
#./configure
#make
#make install
./autogen.sh:行7: autoreconf: 未找到命令
autoreconf: automake failed with exit status: 1
这时还要安装一下yum install autoconf automake gnome-common
2. 安装google-perftools
#tar -zvxf gperftools-2.6.1.tar.gz
# cd gperftools-gperftools-2.6.1
#./autogen.sh
#./configure
#make
#make install
./libtool: line 1125: g++: command not found
make: *** [src/libtcmalloc_minimal_la-tcmalloc.lo] 错误 1
yum install gcc-c++
3. TCMalloc库加载到Linux系统中
#echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
#ldconfig
编译nginx
#./configure --prefix=/usr/local/nginx --user=www --group=www --with-poll_module --with-select_module --with-pcre=/usr/local/src/nginx-1.10.3/pcre-8.41 --with-google_perftools_module
#make && make install
为添加线程目录:
mkdir /tmp/tcmalloc
chown -R www.www /tmp/tcmalloc
vi /usr/local/nginx/conf/nginx.conf #PID the next line add
google_perftools_profiles /tmp/tcmalloc;
验证tcmalloc是否在Nginx中生效
linux tcmalloc,内存管理TCMalloc 安装和使用相关推荐
- Linux堆内存管理深入分析(上)
Linux堆内存管理深入分析 (上半部) 作者:走位@阿里聚安全 0 前言 近年来,漏洞挖掘越来越火,各种漏洞挖掘.利用的分析文章层出不穷.从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏 ...
- Linux堆内存管理深入分析
0 前言 近年来,漏洞挖掘越来越火,各种漏洞挖掘.利用的分析文章层出不穷.从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞利用两种.国内关于栈溢出的资料相对较多,这里就不累述了,但是关于堆溢 ...
- 【Linux 内核 内存管理】内存管理架构 ② ( 用户空间内存管理 | malloc | ptmalloc | 内核空间内存管理 | sys_brk | sys_mmap | sys_munmap)
文章目录 一.用户空间内存管理 ( malloc / free / ptmalloc / jemalloc / tcmalloc ) 二.内核空间内存管理 1.内核内存管理系统调用 ( sys_brk ...
- Linux glibc内存管理:用户态内存分配器——ptmalloc实现原理
文章目录 ptmalloc 设计假设 Arena Chunk Bins 内存分配.释放流程 总结 C++ STL : SGI-STL空间配置器源码剖析 Linux 内存管理 | 物理内存管理:物理内存 ...
- Linux堆内存管理深入分析 (上半部)【转】
转自:http://www.cnblogs.com/alisecurity/p/5486458.html Linux堆内存管理深入分析 (上半部) 作者:走位@阿里聚安全 0 前言 近年来,漏洞挖掘越 ...
- Linux内核内存管理:地址转换和MMU
地址转换和MMU 虚拟内存是一个概念,是给进程的一种错觉,因此它认为自己拥有巨大的.几乎无限的内存,有时甚至比系统实际拥有的内存还要多.每次访问内存位置时,由CPU将虚拟地址转换为物理地址.这种机制称 ...
- Linux的内存管理
Linux的内存管理: 1.Linux系统中除了一些嵌入式程序应用外,其他的应用程序是不能直接访问内存的: 2.当运行申请内存的进程后,查看资源管理器内存占用情况没有变化,因为用malloc申请的内存 ...
- 转:浅谈Linux的内存管理机制
一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概 ...
- 浅谈Linux的内存管理机制
一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概 ...
最新文章
- 自定义类型数组的初始化
- Yii框架特点及测试考虑
- mysql存储过程在实际开发中怎么用_MYSQL存储过程开发中怎么使用游标嵌套
- About os.path
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别(转)
- spring boot实现WebMvcConfigurer接口定制SpringMvc配置
- Hexo博客搭建图文教程
- 消息队列---RabbitMQ深入研究(含Springboot+RabbitMQ整合)
- 自动化企业人才如何定位?
- 桌面美化 Python tkinter倒计时工具
- matlab 短时傅立叶变换,Matlab中短时傅里叶变换 spectrogram和stft的用法
- 多媒体计算机中的扬声器指的是音箱和,多媒体音箱还以为只是个喇叭,原来这么多名堂...
- Android 系统服务
- nrm详解,nrm是什么,nrm源管理器,nrm 与npm 的区别
- 2011年安徽省公务员考试行测真题(3)
- 路由器动态ip获取不到的处理办法
- 开水果店如何进水果,开水果店进的应季水果有哪些
- css局域样式使用scoped,防止样式污染
- 仿某App锁屏页Gallery
- 吴恩达机器学习6:模型描述
热门文章
- Quick Cocos2dx 调试问题
- 转:vc中如何通过http的post方式上传文件
- [IE编程] WebBrowser控件的多页面浏览(Tabbed Browsing)开发接口
- 程序间数据共享与传递(2):EXPORT/IMPORT、SAP/ABAP Memory
- 一个极好的ALV例子
- SAP中批量更改凭证行项目方法
- 【FI】-【AM】跨工厂/事业部/利润中心的固定资产调拨
- SAP SD 模块与FI、MM的接口
- 关于SAP中物料双单位的解析
- DYNP_VALUES_READ 获取屏幕动态值