我在Google的tcmalloc文档页面上发现了这条建议。
您可以使用LD_PRELOAD在您自己编译的应用程序中使用TCMalloc:
$ LD_PRELOAD="/usr/lib/libtcmalloc.so"
LD_PRELOAD很棘手,我们不一定推荐这种使用方式。
为什么他们不鼓励LD_PRELOAD?它固有的错误吗?正常链接更健壮吗?怎么样?
答案 0 :(得分:3)
使用LD_PRELOAD
时,tcmalloc
实现也将用于任何子进程,这可能不是您想要的。
答案 1 :(得分:2)
除了ysdx'回答之外,还有LD_PRELOAD
will also be ignored(有充分理由)setuid()
版程序的价值。
根据用例,这可能是不合需要的。例如,您不能编写导出LD_PRELOAD
然后执行实际程序的shell脚本包装器。