在2005年Jason Evans将jemalloc集成到FreeBSD的libc中;从2009年开始,Jason Evans调整了jemalloc
来处理Facebook服务器通常运行的极端负载,并添加了许多支持开发和监控的功能。Facebook在许多组件中使用jemalloc,这些组件是为其网站提供服务的整体,
而到2017年,一个小型Facebook团队推动了持续的开发和维护。

https://github.com/jemalloc/jemalloc/releases

下载地址:https://github.com/jemalloc/jemalloc/archive/5.0.1.tar.gz

tar -zxvf 5.0.1.tar.gz

cd jemalloc-5.0.1/

里面没用configure 这里需要先执行 autogen.sh 生成 configure文件

2. 编译安装:

./configure --libdir=/usr/local/lib
make
make install
在最后 make install时出现如下错误
内存管理jemalloc_第1张图片
提示文件不存在,创建之后还是会提示doc/jemalloc.3不存在,统一解决方法:
touch doc/jemalloc.html
touch doc/jemalloc.3
make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
ldconfig
内存管理jemalloc_第2张图片
到此 jemalloc-5.0.1 安装成功
jemalloc b
3. 安装nginx

a. 下载依赖文件和NGINX

mkdir -p /usr/local/src/nginx
cd /usr/local/src/nginx
wget http://www.zlib.net/zlib-1.2.11.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz
wget http://nginx.org/download/nginx-1.13.5.tar.gz

b. 解压文件

tar zxvf nginx-1.10.3.tar.gz 
tar zxvf pcre-8.41.tar.gz 
tar zxvf zlib-1.2.11.tar.gz 
tar zxvf openssl-1.1.0f.tar.gz 
cd nginx-1.13.5

c. 开始编译安装

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-poll_module --with-select_module --with-pcre=/usr/local/src/nginx-1.13.5/pcre-8.41  --with-zlib=/usr/local/src/nginx-1.13.5/zlib-1.2.11 --with-openssl=/usr/local/src/nginx-1.13.5/openssl-1.1.0f --with-ld-opt="-ljemalloc"

d. 查看是否加载

内存管理jemalloc_第3张图片

jemalloc c