這是一個在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...