我有大量的代码分布在许多文件中。该代码当前正在使用普通的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
文件中添加新行以及lib的路径。 (这在基于Debian的系统中肯定可以工作,但也可能在其他系统上工作)关于memory - 在现有的巨大代码中使用jemalloc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10946506/