3

我在 Google 的tcmalloc文档页面上看到了这条建议。

您可以使用 LD_PRELOAD 在您没有自己编译的应用程序中使用 TCMalloc:

$ LD_PRELOAD="/usr/lib/libtcmalloc.so" 

LD_PRELOAD 比较棘手,我们不一定推荐这种使用模式。

为什么他们不鼓励 LD_PRELOAD?有什么本质上的问题吗?正常链接更健壮吗?如何?

4

2 回答 2

4

使用时LD_PRELOAD,该tcmalloc实现也将用于任何可能不是您想要的子进程。

于 2014-12-05T23:56:47.797 回答
3

除了ysdx的答案之外, ed 程序的值LD_PRELOAD 也将被忽略(有充分的理由) 。setuid()

根据用例,这可能是不可取的。例如,您不能编写导出LD_PRELOAD然后执行实际程序的 shell 脚本包装器。

于 2014-12-06T00:05:12.537 回答