利用jemalloc优化mysql

此方法管理mysql内存也存在一定的弊端,根据自身情况进行选择

优点: jemalloc的确能对内存做一定优化,但是发现并不能解决所有内存碎片问题,只能说有一定缓解作用。


缺点:  使用jemalloc会带来内存增加问题,内存的消耗跟使用内存成正比,即申请内存越多,jemalloc消耗额外内存也越多。
经过查询资源,发现可以通过环境变量来进行一定的优化

export MALLOC_CONF=tcache:false,thp:never,retain:false

上述环境变量可以缓解内存异常增加问题。在此记录一个事故,有次我配置的是export MALLOC_CONF=tcache:false,retain:false,发现加载某些动态库会直接崩溃。

export MALLOC_CONF=dirty_decay_ms:0,muzzy_decay_ms:0

配置上述变量,本意是为了快速回收内存,减少内存占用,结果发现在频繁申请的内存的场景,cpu使用率会上涨20%左右,在cpu使用率比较高的场景中不建议配置

缺点2:使用jemalloc管理内存时,在不同的架构效果也不同,内核page size是64KB时会出现内存激增的情况

 

可参考以下文章测试结果:MySQL使用jemalloc作为内存管理器时的解决方法-电子发烧友网

一.下载安装jemalloc

# wget https://github.com/jemalloc/jemalloc/releases/jemalloc-5.2.0.tar.gz2

# tar jxvf jemalloc-5.2.0.tar.gz2

# cd jemalloc-5.2.0

./autogen.sh

# ./configure --prefix=/usr/local/jemalloc
# make && make install

二.在mysqld_safe文件中导入

# vim /usr/local/mysql/bin/mysqld_safe

 # executing mysqld_safe

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

三.查看是否导入成功

# lsof -n | grep jemalloc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值