google-perftools使用
最近需要查看系统的内存泄露相关的,而且可能堆外内存泄露导致,故开始尝试使用google-perftools,准备工作如下:
?
一:下载工具源码包
?
1:首先下载google-perftools包
http://code.google.com/p/google-perftools/downloads/list
?
2:下载libunwind
http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-beta.tar.gz
?
3:下载 dot
http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
?
4:下载gv
http://ftp.gnu.org/gnu/gv/
?
?
二:编译
?
1:perftools编译
编译的so文件位于 /perftools/.libs 隐藏目录中
ls *.so得到如下so文件
?
LD_PRELOAD=/home/dikar/google-perf/google-perftools-1.8/.libs/libtcmalloc_and_profiler.so:/home/dikar/google-perf/libunwind-0.99-beta/src/.libs/libunwind.so.7?
用env设置变量参数时,不要替换成export,否则这里会有问题
?
使用pprof时,如果指定的某些依赖的bin不存在,可以直接修改pprof脚本,自己定制哪些bin所在的路径而不依赖默认配置。
?