是否可以使用谷歌tcmalloc来获得每线程内存使用情况

时间:2011-10-02 18:03:05

标签: memory tcmalloc

就像标题所说,如果我能看到使用-ltcmalloc编译的程序的每个线程内存使用情况,我感兴趣。具有常规malloc内存的AFAIK链接到进程而不是线程,但我不确定tcmalloc。

2 个答案:

答案 0 :(得分:3)

TcMalloc有一些每线程内存缓存。但它们只是共享堆的代理(以减少拥塞)。 tcmalloc中的所有内存都来自一个共享池。

Alive(已分配)内存可以从一个线程自由传递到另一个线程, 所以说哪个线程使用它并不容易。

您可以监视哪个线程分配了已用内存,但是您需要完全分离的内存池(不是非常有弹性)或一些每分配内存开销。这些都不存在于tcmalloc ......

答案 1 :(得分:1)

没有每线程内存使用这样的东西。内存是一种流程资源。