TcMalloc 라 이브 러 리 사용
4514 단어 malloc
TcMalloc(Thread-CachingMalloc) google-perftools , glibc malloc ,TcMalloc , , 。
Google-perftools :http://code.google.com/p/google-perftools/, TcMalloc、heap-checker、heap-profiler cpu-profiler 4 。 TcMalloc 。
: , , 。
http://goog-perftools.sourceforge.net/doc/tcmalloc.html。
간단 한 소개
TcMalloc Google , glibc malloc 。 ptmalloc2 300ns malloc free , TcMalloc 50ns malloc free 。
TcMalloc , 。
TcMalloc Cache, Cache , , Cache 。
TcMalloc (<=)32K , (4K) , 。
TcMalloc , , 。
설치 하 다.
Linux tcmalloc :
1) Google , 2.0;
2)
# unzip gperftools-2.0.zip
# tar zxvf gperftools-2.0.tar.gz
3)
# cd gperftools-2.0
# ./ configure --disable-cpu-profiler --disable-heap-profiler--disable-heap-checker
--disable-debugalloc--enable-minimal
tcmalloc_minimal , , :
# ./configure
# ./configure-h 。
# make&& make install
tcmalloc_minimal :
# cplib/tcmalloc_minimal.so.0.0.0 /usr/local/lib
tcmalloc:
# ls –s/usr/local/lib/libtcmalloc_minimal.so.0.0.0 /usr/local/lib/libtcmalloc.so
, tcmalloc :
# exportLD_PRELOAD=”/usr/local/lib/libtcmalloc.so
losf tcmalloc :
# lsof -n | greptcmalloc
Linux tcmalloc , Windows VS(2003 ) gperftools.sln 。
쓰다
libtcmalloc.so/libtcmalloc.a , LD_PRELOAD=libtcmalloc.so。 tcmalloc malloc、free、realloc、strdup 。 :
TCMALLOC_DEBUG=<level> , 1-2
MALLOCSTATS=<level> , 1-2
HEAPPROFILE=<pre>
HEAPCHECK=<type> ,type=normal/strict/draconian
TcMalloc , :
1) tcmalloc , tcmalloc ;
2) LD_PRELOAD=”libtcmalloc.so”/HEAPCHECK=normal,
, :
1) , : HEAPCHECK=normal /bin/ls
2) , , :
HeapProfileLeakCheckerchecker("foo"); //
Foo();//
assert(checker.NoLeaks());//
checker , checker.NoLeaks , , ,NoLeaks false, pprof 。
:
#LD_PRELOAD=libtcmalloc.so HEAPCHECK=strict HEAPPROFILE=memtm ./a.out
, ,pprof , , 。
:
#pprof --base=profile.0001.heap profile.0002.heap
, :
void *mark =HeapLeakChecker::GetDisableChecksStart();
<leaky code> //
HeapLeakChecker::DisableChecksToHereFrom(mark);
: libc 。
: , :char *str = new char[100]; delete str;。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[WEEK 06] C - 동적 메모리 할당Allocator maintains heap as collection of variable sized blocks, which are either allocated or free. Explicit allocator:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.