读完本文后关于 jemalloc 等内存分配器对高线程应用程序的影响的博客文章我想在我们的一些服务器集群上进行更大规模的测试。我们在 24 核机器上运行 sphinx 和 apache,使用线程。
安装 jemalloc 非常简单。我们运行的是 Centos 6,所以 yum install jemalloc jemalloc-devel 就行了。我的问题是,我们如何将系统上的所有内容更改为使用 jemalloc 而不是 Centos 内置的默认 malloc。研究表明这是一个潜在的选择:
LD_PRELOAD=$LD_PRELOAD:/usr/lib64/libjemalloc.so.1
这足以使用 jemalloc 获得一切吗?
答案1
这是一个简单的答案(实际上我仍然不明白你的研究怎么会错过它):
/etc/ld.so.preload
它记录在 ld.so(8) 中 — man 8 ld.so
: «...
/etc/ld.so.preload — 文件包含在程序之前要加载的 ELF 共享库的空格分隔列表。
…”