[Bug 1439277] Re: [SRU] tcmalloc performance degredation over time

James Page james.page at ubuntu.com
Thu Apr 9 13:36:03 UTC 2015


** Attachment added: "gperftest.c"
   https://bugs.launchpad.net/ubuntu/+source/google-perftools/+bug/1439277/+attachment/4370474/+files/gperftest.c

** Description changed:

  [Impact]
- When under memory pressure, tcmalloc will consume increasing amounts of CPU cycles resulting in performance degradation; the mechanism to permit a larger thread cache is broken, so the pinch point can be worked around by increasing the amount of memory to relieve this pressure.
+ When under memory pressure, tcmalloc will consume increasing amounts of CPU cycles resulting in performance degradation; the mechanism to permit a larger thread cache is broken, so the pinch point cannot be worked around by increasing the amount of memory to relieve this pressure.
  
  [Test Case]
  (compile attached binary)
  g++ -o gperftest  gperftest.c -ltcmalloc
  export TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=67108864
  ./gperftest
  Tcmalloc BUG! TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES: 67108864 Internal Size: 33554432 different
  
  [Regression Potential]
  Fix committed upstream and isolate to a specific code path.
  
  [Original Bug Report]
  
  Reported by upstream:
  
  > Sage,
  > Here is the tcmalloc issue I was talking in the performance meeting.
  >
  > http://code.google.com/p/gperftools/issues/detail?id=585
  >
  > The tcmalloc is consuming lot of cpus (and eventually slowing down the performance) with the following perf top  trace.
  >
  > 25.73% libtcmalloc.so.4.1.2 [.] tcmalloc::CentralFreeList::FetchFromSpans()
  > 12.52% libtcmalloc.so.4.1.2 [.] tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int)
  > 11.62% libtcmalloc.so.4.1.2 [.] tcmalloc::CentralFreeList::ReleaseToSpans(void*)
  > 1.56% [kernel] [k] __copy_user_nocache
  > 1.44% libtcmalloc.so.4.1.2 [.] tcmalloc::CentralFreeList::RemoveRange(void*, void*, int)
  > 1.39% libtcmalloc.so.4.1.2 [.] tcmalloc::CentralFreeList::ReleaseListToSpans(void*)
  > 0.89% libtcmalloc.so.4.1.2 [.] operator new(unsigned long)
  >
  >
  > The TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES is alleviating that but the env variable setting for this is a noop in the binary we are having in Ubuntu 14.04. It is fixed in gperftools-2.1.90 release.
  > See the following link.
  >
  > http://code.google.com/p/gperftools/
  >
  > We can request Ubuntu guys to incorporate this version or the latest tcmalloc version which is gperftools-2.4.
  >
  > It will be really helpful if you can push them to incorporate this in 14.04 updates.
  >
  > Thanks & Regards
  > Somnath

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to google-perftools in Ubuntu.
https://bugs.launchpad.net/bugs/1439277

Title:
  [SRU] tcmalloc performance degredation over time

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/google-perftools/+bug/1439277/+subscriptions



More information about the Ubuntu-server-bugs mailing list