欢迎您, 来到 宁时修博客.^_^

Nginx系列---8、jemalloc优化 Nginx 内存管理

2019/08/19 言则行 Nginx 552
Nginx系列---8、jemalloc优化 Nginx 内存管理

一、jemalloc

    首先,jemalloc是干什么的? 

    我们看看作者自己的介绍:

jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support

    意思是说jemalloc干了malloc干的活,而且干得好一些,主要体现在避免内存碎片与可扩展的并发支持。

    jemalloc是比glibc中的malloc高效很多的内存管理方案。jemalloc适合多线程下内存分配管理,jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。

    在nginx中也支持使用jemalloc进行内存管理,那更应该一试了。

   

二、安装jemalloc

    可以从GitHub:https://github.com/jemalloc/jemalloc/releases 上获取 jemalloc源码包。

    安装步骤如下:

$ cd /usr/local/src/
$ wget https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2
$ tar zxf jemalloc-5.2.1.tar.bz2
$ cd jemalloc-5.2.1
$ ./configure
$ make
$ make install
$ echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
$ ldconfig


    如此就已经安装好 jemalloc了,下面来将其编译进Nginx。


三、jemalloc优化Nginx

    在编译Nginx时,添加 --with-ld-opt="-ljemalloc" 参数即可。

    编译安装完Nginx,启动Nginx后,输入命令 lsof -n | grep jemalloc 可以查看jemalloc是否已经生效


点赞
说说你的看法

所有评论: (0)