使用Google的性能分析工具分析Go程序的記錄

這是一個在ubuntu 12.0432位的AMD平臺下的調試經歷,僅供參考。爲了使用googleGo語言性能分析工具,你須要先下載並安裝google的性能分析工具:gperftoolsweb

下載地址: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.gz
spa


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

安裝時,可能遇到的一些問題:1g++沒有安裝;2)沒有足夠權限;364位平臺的問題。這些均可以去百度一下解決。

在安裝完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...

相關文章
相關標籤/搜索