Jemalloc介绍
Jemalloc是新一代内存分配器,它在FreeBSD被默认使用,侧重于减少内存碎片和提升高并发场景下内存的分配效率。Jemalloc应用十分广泛,在MySQL,Redis等场景中都有大量使用。
Github Release: Jemalloc
1. Install
1 | yum install -y bzip2 autoconf automake libtool |
注:Linux动态库加载顺序
LD_PRELOAD > LD_LIBRARY_PATH > /etc/ld.so.cache > /lib > /usr/lib
所以可以看到,只要把动态库加载到LD_PRELOAD, 程序即可以优先启用Jemalloc
场景1: 仅在MySQL启用Jemalloc内存分配器
1 | $ cat /etc/supervisord.d/mysqld.conf |
场景2: 为整个Linux系统启用Jemailoc动态库
cat /etc/ld.so.conf.d/jemalloc.conf
1 | /usr/local/jemalloc-5.3.0/lib/libjemalloc.so |
1 | #立即永久生效 |
针对ubuntu/debian全局动态库开机加载
cat /etc/init.d/jemalloc
1 | $ /etc/init.d/jemalloc |
添加权限
1 | chmod 755 jemalloc |
附录:使用C程序验证Jemailloc是否工作
1 | #C程序 |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2023/01/29/高效内存分配器Jemalloc/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!