任何给定的时间点,我如何获得每个线程使用的内存大小?
答案 0 :(得分:2)
您不能,堆在进程中的所有线程之间共享。
答案 1 :(得分:2)
如果你想要的只是heap profiler考虑使用自己的分配器TCMalloc的Google性能工具。
http://code.google.com/p/google-perftools/
另一个高性能分配器是jemalloc,它提供统计报告,包括malloc_stats_print()
答案 2 :(得分:0)
要检查线程的堆栈大小,可以使用非可移植的GNU扩展pthread_getattr_np 你也可以检查/ proc / self / maps(或/ proc / PID / maps),但这种方式更复杂。