Closed vinllen closed 10 months ago
I think the only reason is the memory fragmentation rate is too high, but it doesn't make sense in my scenrio.
gperftools is a separate repository. It is based on a many year old version of TCMalloc.
Memory being retained in the CentralFreeList likely indicates that spans are not being fully reassembled--some of the objects are still allocated (or in another cache), so the span accumulates free objects but is not fully returned to the PageHeap.
I've no idea whether it's a bug, my gperftools version is 2.7 that is a bit older. The
tcmalloc_aggressive_decommit
option is enabled in my program so that thepage heap freelist
is always 0. However, theBytes in central cache freelist
is increasing. In my understanding, thecentral cache freelist
memory will be released to the page heap if possible. Is there any bug in this version?My program is a database server that the memory is used in the database(Rocksdb) cache and the RPC object cache.
After calling
ReleaseFreeMemory()
, the central cache memory still not decreased