这是一个在ubuntu 12.04,32位的AMD平台下的调试经历,仅供参考。为了使用google的Go语言性能分析工具,你须要先下载并安装google的性能分析工具:gperftools。web
下载地址:ubuntu
http://code.google.com/p/gperftools/downloads/list浏览器
详细的安装gperftools 能够百度一下关键字‘使用 TCMalloc优化 Nginx’。工具
下面只列出简单的安装过程:性能
在控制台窗口里,以root的身份操做:优化
wgethttp://gperftools.googlecode.com/files/gperftools-2.0.tar.gzgoogle
tar -zxvf gperftools-2.0.tar.gzspa
cd gperftools-2.0调试
./configure --prefix=/usr/local code
make
make install
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig
安装时,可能遇到的一些问题:1)g++没有安装;2)没有足够权限;3)64位平台的问题。这些均可以去百度一下解决。
在安装完gperftools后,就能够在Go程序里面使用了。使用的方法有好几种,最直接的就是在Go程序里面写代码生成分析文件.prof。例如,文件test_prime.go里面
func main(){
//建立文件
f, _ := os.Create("primefinder.prof")
//开始记录
pprof.StartCPUProfile(f)
//在程序结束的时候中止记录.
defer pprof.StopCPUProfile()
}
接下来,运行go程序生成相关达.prof后缀文件。例如,test_prime生成来一个primefinder.prof分析文件。
而后,运行pprof来分析对应达.prof文件。例如,
pprof test_prime primefinder.prof
这样,就会进入pprof的一个交互程序。
Using local file test_prime.
Using local file primefinder.prof.
Welcome to pprof! For help, type 'help'.
(pprof)
查看top20
(pprof) top20
Total: 120 samples
119 99.2% 99.2% 120 100.0% main.IsPrime
1 0.8% 100.0% 1 0.8% math.Sqrt
0 0.0% 100.0% 120 100.0% main.CountPrimeInrange
0 0.0% 100.0% 120 100.0% schedunlock
为了以图形的方式展现分析结果,须要安装一个graphviz工具。安装过程以下:
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.26.0.tar.gz
tar zxf graphviz-2.26.0.tar.gz
cd graphviz-2.26.0/
./configure
make
sudo make install
在安装完成后,就能够在pprof工具里面使用web命令来观看图形化的分析结果。例如,
pprof --web test_prime primefinder.prof
将把分析结果以图形化的方式在web浏览器中打开。
to be continued...