就像标题所说,如果我能看到使用-ltcmalloc编译的程序的每个线程内存使用情况,我感兴趣。具有常规malloc内存的AFAIK链接到进程而不是线程,但我不确定tcmalloc。
答案 0 :(得分:3)
TcMalloc有一些每线程内存缓存。但它们只是共享堆的代理(以减少拥塞)。 tcmalloc中的所有内存都来自一个共享池。
Alive(已分配)内存可以从一个线程自由传递到另一个线程, 所以说哪个线程使用它并不容易。
您可以监视哪个线程分配了已用内存,但是您需要完全分离的内存池(不是非常有弹性)或一些每分配内存开销。这些都不存在于tcmalloc ......
答案 1 :(得分:1)
没有每线程内存使用这样的东西。内存是一种流程资源。