Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
就像标题所说的,如果我能看到使用 -ltcmalloc 编译的程序的每个线程内存使用情况,我很感兴趣。具有常规 malloc 内存的 AFAIK 链接到进程而不是线程,但我不确定 tcmalloc。
TcMalloc 有一些每个线程的内存缓存。但它们只是共享堆的代理(以减少拥塞)。tcmalloc 中的所有内存都来自一个共享池。
活动(分配的)内存可以自由地从一个线程传递到另一个线程,因此很难说哪个线程使用它。
您可以监视哪个线程分配了已用内存,但您需要完全分离的内存池(不是很有弹性)或一些每次分配的内存开销。tcmalloc 中都不存在这些...
没有每线程内存使用这样的东西。内存是一种进程资源。