diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-02-02 18:35:30 -0200 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-02-02 18:35:30 -0200 |
commit | d8b21a8086a29d1be19938fe6d27cf6afb838a49 (patch) | |
tree | 9d7b65751a140d409bf113d65806118722d16d3f | |
parent | b96203b591f63d24cd2979241b18534d22358bca (diff) | |
download | gperftools-d8b21a8086a29d1be19938fe6d27cf6afb838a49.tar.gz |
RSS usage tuning for 64K pages
This patch lowers TCMalloc RSS usage when TCMALLOC_LARGE_PAGES64K is
defined by tuning page scavenge values.
-rw-r--r-- | src/page_heap.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/page_heap.h b/src/page_heap.h index e06e203..1fd8cfc 100644 --- a/src/page_heap.h +++ b/src/page_heap.h @@ -206,11 +206,21 @@ class PERFTOOLS_DLL_DECL PageHeap { // Never delay scavenging for more than the following number of // deallocated pages. With 4K pages, this comes to 4GB of // deallocation. +#ifndef TCMALLOC_LARGE_PAGES64K static const int kMaxReleaseDelay = 1 << 20; +#else + // With 64K pages this come to 16M + static const int kMaxReleaseDelay = 1 << 8; +#endif // If there is nothing to release, wait for so many pages before // scavenging again. With 4K pages, this comes to 1GB of memory. +#ifndef TCMALLOC_LARGE_PAGES64K static const int kDefaultReleaseDelay = 1 << 18; +#else + // WIth 64K pages, this comes to 4MB + static const int kDefaultReleaseDelay = 1 << 6; +#endif // Pick the appropriate map and cache types based on pointer size typedef MapSelector<kAddressBits>::Type PageMap; |