0x1
虽然nginx的性能很高,但是在互联网高并发的场景下长期运行,仍然需要尽可能提升其性能/保持稳定,那么修改默认内存分配器glibc为jemalloc是一个不错的选择
0x2
nginx的默认内存分配器,通过以下命令做了简单的判断:
lsof | grep nginx # 无malloc相关的内容
strings ./nginx # 有malloc关键字,但是无明显jemalloc或者tcmalloc
ldd ./nginx # 无malloc相关的内容
通过以上内容,我们无法判断nginx显示使用了jemalloc或者tcmalloc,那么应该是使用了linux默认的glibc的内存分配器
0x3
nginx使用jemalloc的前提是安装了jemalloc,这里不再重复说明。要想更换为jemalloc,仅增加编译参数:
--with-ld-opt="-ljemalloc"
0x4
确定已经使用jemalloc。启动nginx,执行如下命令,保证回显有jemalloc关键字
lsof | grep nginx