Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

tbbmalloc memory usage statistics

e4lam
Beginner
480 Views

It would really useful if there was some scalable_mallinfo() type of API similar to glibc's mallinfo() so that one can get some statistics of out the allocator.

0 Kudos
4 Replies
Alexei_K_Intel
Employee
480 Views

Can you clarify, please, which particular statistics (or which use cases) you are interested in?

e4lam
Beginner
480 Views

Things like how much system memory is being used vs how much the user has allocated would be a good start.

Alexei_K_Intel
Employee
480 Views

As for amount of used system memory, usually you do not need allocator support. You can read VmSize value from proc/status. Consider the example: https://github.com/intel/tbb/blob/tbb_2019/src/test/harness_memory.h#L57-L97

As for amount of user allocated memory, it is interesting problem. It might be not so easy to calculate it in concurrent environment without additional overhead when threads are dynamically created and destroyed.

 

e4lam
Beginner
480 Views

Reading the VmSize is something we're already doing but it's not accurate in terms of how much system memory that tbbmalloc is using, right?

I appreciate the difficulty in the presence of parallel allocation and deallocations. Perhaps this page is a better analogy which discusses this type of functionality in jemalloc: https://github.com/jemalloc/jemalloc/wiki/Use-Case%3A-Basic-Allocator-Statistics ;

Reply