我有一个庞大的代码分布在许多文件中。这段代码目前使用的是普通的 malloc。
我想在其中实现 Jemalloc 以获得更好的性能,并且我还想使用 Jemalloc 的内存分析器来了解该代码中每个分配是如何以及在何处发生的。
我正在尝试这个超过 3 周。请帮我。
提前致谢。
最佳答案
构建后 jemalloc
如果没有任何前缀,您将拥有一个包含所有 malloc
的共享库。重新实现的函数系列。
假设:Linux环境
您可以使用 LD_PRELOAD
预加载 jemalloc.so
的环境变量在运行应用程序之前,如果它在单个终端中运行。就像是:
export LD_PRELOAD=$LD_PRELOAD:/path/to/jemalloc-build/lib/jemalloc.so.1
对于受更改影响的所有应用程序,您可以在文件
/etc/ld.so.preload
中添加一个新行。与您的库的路径。 (这肯定适用于基于 Debian 的系统,但也可能适用于其他系统)
关于memory - 在现有的大量代码中使用 jemalloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946506/