启用tcmalloc编译后,在测试机上调试启动运行都没有问题,但是上了线上服务器后就无法启动,CPU占用还非常高,pstack看了下,死锁了,线程全部卡在spinlock下面,又折回去发现在我开发机上就不会走到SpinLock::SlowLock这个函数,没辙,老老实实自己折腾个内存池吧
目前成都创新互联已为上千家的企业提供了网站建设、域名、雅安服务器托管、成都网站托管、企业网站设计、杏花岭网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。Thread 5 (Thread 0x7f848c753700 (LWP 4197)):
#0 0x00007f8489a78fd0 in base::internal::SpinLockDelay(int volatile*, int, int) () from /usr/local/lib/libtcmalloc.so.4
#1 0x00007f8489a78dbc in SpinLock::SlowLock() () from /usr/local/lib/libtcmalloc.so.4
#2 0x00007f8489a69065 in tcmalloc::CentralFreeList::Populate() () from /usr/local/lib/libtcmalloc.so.4
#3 0x00007f8489a692a0 in tcmalloc::CentralFreeList::FetchFromOneSpansSafe(int, void**, void**) () from /usr/local/lib/libtcmalloc.so.4
#4 0x00007f8489a69343 in tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) () from /usr/local/lib/libtcmalloc.so.4
#5 0x00007f8489a6d3e5 in tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) () from /usr/local/lib/libtcmalloc.so.4
#6 0x00007f8489a5c193 in (anonymous namespace)::cpp_alloc(unsigned long, bool) () from /usr/local/lib/libtcmalloc.so.4
#7 0x00007f8489a7bc98 in tc_new () from /usr/local/lib/libtcmalloc.so.4
#8 0x0000003f5309c3c9 in std::basic_string
#9 0x0000003f5309ddaa in std::basic_string
#10 0x0000003f5309df6c in std::basic_string
#11 0x00007f848a4c4708 in ?? ()
#12 0x0000000000000000 in ?? ()
Thread 4 (Thread 0x7f848bd52700 (LWP 4199)):
#0 0x00007f8489a78fd0 in base::internal::SpinLockDelay(int volatile*, int, int) () from /usr/local/lib/libtcmalloc.so.4
#1 0x00007f8489a78dbc in SpinLock::SlowLock() () from /usr/local/lib/libtcmalloc.so.4
#2 0x00007f8489a6db63 in tcmalloc::ThreadCache::CreateCacheIfNecessary() () from /usr/local/lib/libtcmalloc.so.4
#3 0x00007f8489a5c2d6 in (anonymous namespace)::cpp_alloc(unsigned long, bool) () from /usr/local/lib/libtcmalloc.so.4
#4 0x00007f8489a7bc98 in tc_new () from /usr/local/lib/libtcmalloc.so.4
#5 0x00007f848a4b641f in ?? ()
#6 0x0000000000000000 in ?? ()
Thread 3 (Thread 0x7f848b351700 (LWP 4200)):
#0 0x00007f8489a78fd0 in base::internal::SpinLockDelay(int volatile*, int, int) () from /usr/local/lib/libtcmalloc.so.4
#1 0x00007f8489a78dbc in SpinLock::SlowLock() () from /usr/local/lib/libtcmalloc.so.4
#2 0x00007f8489a69065 in tcmalloc::CentralFreeList::Populate() () from /usr/local/lib/libtcmalloc.so.4
#3 0x00007f8489a692a0 in tcmalloc::CentralFreeList::FetchFromOneSpansSafe(int, void**, void**) () from /usr/local/lib/libtcmalloc.so.4
#4 0x00007f8489a69343 in tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) () from /usr/local/lib/libtcmalloc.so.4
#5 0x00007f8489a6d3e5 in tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) () from /usr/local/lib/libtcmalloc.so.4
#6 0x00007f8489a5c193 in (anonymous namespace)::cpp_alloc(unsigned long, bool) () from /usr/local/lib/libtcmalloc.so.4
#7 0x00007f8489a7bc98 in tc_new () from /usr/local/lib/libtcmalloc.so.4
#8 0x0000003f5309c3c9 in std::basic_string
#9 0x0000003f5309ddaa in std::basic_string
#10 0x0000003f5309df6c in std::basic_string
#11 0x00007f848a4fcfe3 in ?? ()
#12 0x6120726f6620257b in ?? ()
#13 0x6c6461206e692064 in ?? ()
Thread 1 (Thread 0x7f84a15f4700 (LWP 4026)):
#0 0x00007f8489a78fd0 in base::internal::SpinLockDelay(int volatile*, int, int) () from /usr/local/lib/libtcmalloc.so.4
#1 0x00007f8489a78dbc in SpinLock::SlowLock() () from /usr/local/lib/libtcmalloc.so.4
#2 0x00007f8489a6db63 in tcmalloc::ThreadCache::CreateCacheIfNecessary() () from /usr/local/lib/libtcmalloc.so.4
#3 0x00007f8489a5c2d6 in (anonymous namespace)::cpp_alloc(unsigned long, bool) () from /usr/local/lib/libtcmalloc.so.4
#4 0x00007f8489a7bc98 in tc_new () from /usr/local/lib/libtcmalloc.so.4
#5 0x0000003f5309c3c9 in std::basic_string
#6 0x0000003f5309cde5 in ?? () from /usr/lib64/libstdc++.so.6
#7 0x0000003f5309cf33 in std::basic_string
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。