我以前使用過 pprof 工具沒有問題,它工作得很好 - 現(xiàn)在無論我配置什么,我都會看到如下輸出:在這個例子中被分析的應(yīng)用程序可能會進行 40 多個函數(shù)調(diào)用,甚至更復(fù)雜的應(yīng)用程序正在為 cpu 和內(nèi)存分析生成類似的調(diào)用圖。我試圖分析的應(yīng)用程序都是網(wǎng)絡(luò)應(yīng)用程序,我一次分析它們一分鐘,并使用 wrk 生成 200,000,000+ 個請求 = 所有返回數(shù)據(jù)和 2xx 響應(yīng)pprof 幾天前突然停止工作,運行 osx yosemite - 為了解決我最近升級到 el capan 的問題,但結(jié)果是一樣的。注意:這不僅僅是調(diào)用圖 - 調(diào)用 list 或 top 命令會產(chǎn)生類似的貧瘠結(jié)果,但應(yīng)用程序本身運行良好: (pprof) top269.97kB of 269.97kB total ( 100%) flat flat% sum% cum cum% 269.97kB 100% 100% 269.97kB 100% (pprof) 我正在使用以下包:“github.com/davecheney/profile”和 go v1.5.1為清楚起見,這是我為生成配置文件所做的工作:我將上述包導(dǎo)入 main.go 并將以下內(nèi)容放在我的主函數(shù)的頂部:defer profile.Start(profile.MemProfile).Stop()然后我構(gòu)建二進制文件并運行它:go build -o orig /Users/danielwall/www/netlistener/application/adrequest.go /Users/danielwall/www/netlistener/application/cookie.go /Users/danielwall/www/netlistener/application/header.go /Users/danielwall/www/netlistener/application/lex.go /Users/danielwall/www/netlistener/application/main.go /Users/danielwall/www/netlistener/application/publisher_ids.go /Users/danielwall/www/netlistener/application/request.go /Users/danielwall/www/netlistener/application/response.go /Users/danielwall/www/netlistener/application/server.go /Users/danielwall/www/netlistener/application/sniff.go /Users/danielwall/www/netlistener/application/status.go /Users/danielwall/www/netlistener/application/transfer.go./orig然后我看到這樣的輸出:2015/11/16 11:39:49 profile: memory profiling enabled, /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
1 回答

開心每一天1111
TA貢獻1836條經(jīng)驗 獲得超13個贊
您的go tool pprof
電話缺少二進制文件本身。稱之為
go tool pprof ./orig /path/to/profile.pprof
- 1 回答
- 0 關(guān)注
- 202 瀏覽
添加回答
舉報
0/150
提交
取消