上一篇文章《TCMalloc优化MySQL、Nginx、Redis内存管理》,下面来看下jemalloc

jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:《A Scalable Concurrent malloc Implementation for FreeBSD》。 jason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况,因此在多线程并发下性能低下(事实如此),而jemalloc适合多线程下内存分配管理。从2007年开始以 FreeBSD标准引进来。软件技术革新很多是FreeBSD发起,在FreeBSD应用广泛的技术会慢慢导入到Linux中。

Redis 2.4版本之后,默认使用jemalloc来做内存管理;tengine也整合jemalloc。jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。如下图:


 图片来源:facebook

最左边的就是glibc的malloc,最右边的就是jemalloc。从图表上可以看出,jemalloc的性能有glibc的两倍以上。非常压 倒性的性能差异。因此,使用了jemalloc的应用程序自然会快很多。Jemalloc旁边的就是tcmalloc。Tcmalloc的性能与其相差甚 微,低jemalloc2.1.0慢4.5%。图上和tcmalloc的1.4版本,而现在已经到2.1版本,因此实际上这两者应该是不相仲伯的。 Jemalloc的创始人jason evans也意识到这一点,说在cpu core 8以上的计算机上jemalloc效率更高。

MySQL性能测试–jemalloc内存管理:http://www.linuxeye.com/Linux/1914.html
jemalloc作为可选项已经添加到《lnmp最新源码一键安装包》

安装jemalloc

cd lnmp/src
wget http://www.canonware.com/download/jemalloc/jemalloc-3.4.0.tar.bz2
tar xjf jemalloc-3.4.0.tar.bz2
cd jemalloc-3.4.0
./configure
make && make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
ldconfig

使用jemalloc优化MySQL
MySQL/MaridDB 5.5编译方法,cmake预编译时加上下面参数

-DCMAKE_EXE_LINKER_FLAGS="-ljemalloc" -DWITH_SAFEMALLOC=OFF

或者直接加载,修改mysqld_safe

sed -i 's@executing mysqld_safe@executing mysqld_safe\nexport LD_PRELOAD=/usr/local/lib/libjemalloc.so@' /usr/local/mysql/bin/mysqld_safe
service mysqld restart

使用jemalloc优化Nginx

cd lnmp/src/nginx-1.4.2
make clean
./configure --prefix=/usr/local/nginx --user=www --group=www \
--with-http_stub_status_module --with-http_ssl_module --with-http_flv_module \
--with-http_gzip_static_module --with-ld-opt="-ljemalloc"
make && make install

验证jemalloc是否生效,如下

lsof -n | grep jemalloc

原文地址:http://blog.linuxeye.com/356.html

转载于:https://www.cnblogs.com/lj2007331/p/3298039.html

jemalloc优化MySQL、Nginx内存管理相关推荐

  1. Jemalloc优化MySQL、Nginx/Tengine内存管理

    Jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:<A Scalable Concurrent malloc Implementation f ...

  2. 结合源码看nginx-1.4.0之nginx内存管理详解

    目录 0. 摘要 1. nginx内存结构设计 2. nginx内存数据结构 3. nginx内存管理原理 4. 一个简单的内存模型 5. 小结 6. 参考资料 0. 摘要 内存管理,是指软件运行时对 ...

  3. Nginx内存管理详解

    目录: 1.Nginx内存管理介绍 2.Nginx内存池的逻辑结构 3.Nginx内存池的基本数据结构 4.内存池基本操作介绍 5.内存池管理源码详解 6.内存池使用源码详解 7.小结 1.Nginx ...

  4. QT每日一练day2:day1优化以及QT内存管理机制

    QT中的继承关系 day1优化   一般我们不直接用QWidget来实例化对象,用它的派生类来生成对象,main函数中一般不写太多代码,都是在派生类的构造函数中进行窗口的初始化.布局.设置.其子窗口设 ...

  5. Android内存优化—Android的内存管理方式

    内存管理机制 从操作系统的角度来说,内存就是一块数据存储区域,属于可被操作系统调度的资源.现代多任务(进程)的操作系统中,内存管理尤为重要,操作系统需要为每一个进程合理的分配内存资源,所以可以从两方面 ...

  6. MySQL高级-内存管理及优化

    1 内存优化原则 1) 将尽量多的内存分配给MySQL做缓存,但要给操作系统和其他程序预留足够内存. 2) MyISAM 存储引擎的数据文件读取依赖于操作系统自身的IO缓存,因此,如果有MyISAM表 ...

  7. gperftools mysql_利用 gperftools 对nginx mysql 内存管理 性能优化

    利用 gperftools 对nginx 与 mysql  进行 内存管理  性能优化 降低负载. Gperftools 是由谷歌开发.官方对gperftools 的介绍为: These tools ...

  8. 使用jemalloc优化java_Jemalloc优化MySQL和Nginx

    Redis 2.4版本之后,默认使用jemalloc来做内存管理:tengine也整合jemalloc.jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领 ...

  9. jemalloc java_Jemalloc优化MySQL和Nginx

    jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:<A Scalable Concurrent malloc Implementation f ...

  10. 使用jemalloc在Go中进行手动内存管理

    目录 通过Cgo创建内存 jemalloc 在字节片上放置Go结构 用分配器摊销Calloc的成本 明智地参考 处理分配的GB 排序可变长度数据 捕捉内存泄漏 结论 推荐阅读 曼尼斯·赖·贾 因(Ma ...

最新文章

  1. Java web speach api_Web Speech API - 语音文本转换的Web解决方案
  2. 十一届蓝桥杯国赛 扩散-多源bfs
  3. Java randomString
  4. Docker容器网络
  5. C#中的套接字编程(二) --转
  6. 020 ceph作openstack的后端存储
  7. TensorFlow 机器学习秘籍中文第二版·翻译完成
  8. 怎样锁定计算机桌面图标,win10系统锁定桌面图标的详细技巧
  9. Linux:搭建web服务器(二)
  10. 外贸人必收藏开发客户、找邮箱等高效工具
  11. 4.1日预测及操作建议
  12. 【转载】ASP.Net请求处理机制初步探索之旅 - Part 3 管道
  13. Anmle,Factors,andMultiFactorModels
  14. 叉积的证明_矢量叉乘分配律的几何证明
  15. 算法竞赛入门经典(刘汝佳)——代码笔记
  16. 去掉最高分最低分求平均分
  17. POST、GET请求及对应的参数获取
  18. 安卓dumpsys SurfaceFlinger输出示例
  19. Mac系统打开命令行终端及查看操作系统版本号的方法
  20. 人工智能现在的发展前景如何?

热门文章

  1. CSS变量(自定义属性)实践指南
  2. 2016年零售业CIO的七大革命性挑战
  3. ZZULIoj 1913: 小火山的计算能力
  4. codeforces 665E Beautiful Subarrays
  5. android 图片素描算法
  6. H3C路由器Hub-Spoke网络结构D×××配置案例(试读连载一二)
  7. ExtJS用户带验证码登录页面
  8. 用姿态补偿雷达数据畸变的文字想法
  9. 毕业照还可以这样玩()
  10. 大数据架构方案总结-ljt(转载)