[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