我使用 apt-get install libtcmalloc-minimal4 在 Ubuntu 14.0 上安装了 tcmalloc
我做了以下步骤:
ln -s libtcmalloc_minimal.so.4.1.2 libtcmalloc_minimal.so
将我的可执行文件与 -ltcmalloc_minimal 链接
运行后
代码,我看不到任何性能差异。
我尝试使用 HEAPCHECK 运行以检查是否正在使用 tcmalloc,但没有发现任何与 HEAPCHECK 相关的警告。
我的程序包含 malloc 调用和 openMP。还有什么我需要做的吗?
如何检查以确保我的程序正在使用 tcmalloc?
最佳答案
I did following steps:
ln -s libtcmalloc_minimal.so.4.1.2 libtcmalloc_minimal.so
linked my executable with-ltcmalloc_minimal
一般来说,永远不需要对这样的库进行符号链接(symbolic link)。您必须这样做的事实告诉我您没有安装正确的(开发)包。
ldd
gives "not a dynamic executable".
在这种情况下,保证您的可执行文件没有与
libtcmalloc_minimal.so
链接。 .I have linked the library using
-L <path to .so>
这不会将您的可执行文件链接到任何特定的库,它只是告诉您的链接器查看
<path to .so>
库的目录。您实际上需要让链接器查找 libtcmalloc_minimal
, 与 -ltcmalloc_minimal
旗帜。
关于ubuntu - tcmalloc 不能在 ubuntu 上使用 -ltcmalloc_minimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33070872/