1. 程式人生 > >CPU熱點分析——pprof (gperftools)使用

CPU熱點分析——pprof (gperftools)使用

pprof (gperftools)使用

谷歌的工具集,可檢視CPU取樣結果。pprof (google-perftool),用於來分析程式,必須保證程式能正常退出。使用步驟:

1.準備工具,先安裝工具包

libunwind-1.1.tar.gz

gperftools-2.1.tar.gz

解壓後 configure到系統預設路徑即可,之後直接-lprofiler

2.再安裝圖形工具

sudo yum install "graphviz*"

sudo yum install ghostscript

GPerfTools="/home/zhifeng.czf/tools/gperftools-bin"

3. 自己程式增加編譯連結選項:

-lprofiler

附:

GPerlToos=/home/zhifeng.czf/tools/gperftools-bin

CCFLAGS=-fno-omit-frame-pointer-g

ALL_BINS=test_gperf

all:$(ALL_BINS)

test_gperf:test_gperf.o

         g++ $(CCFLAGS) -o [email protected] $^-L$(GPerfTools)/lib -Wl, -Bdynamic -lprofiler

.cpp.o:

         g++ $(CCFLAGS) -c -I./-I$(GPerfTools)/include -fPIC -o

[email protected] $<

clean:

         rm -rf $(ALL_BINS) *.o

4. 執行:

CPUPROFILE=./profile CPUPROFILESIGNAL=12 ./xlongsrv

此外,對於不能正常結束的程式,如果CPUPROFILESIGNAL的方式不成功,可以自己呼叫:

ProfilerStart(), ProfilerStop();

5.檢視結果

pprof --pdf ./xlongsrv ./profile.0  >  graph.pdf

pprof --gif ./xlongsrv ./profile.0  >  graph.gif

/home/zhifeng.czf/tools/gperf/bin/pprof--callgrind ./XLongSrv.astar.perf ./bs.prof > graph.callgrind

/home/zhifeng.czf/tools/gperf/bin/pprof-text ./XLongSrv.astar.perf ./bs.prof