發(fā)現(xiàn)項目的內(nèi)存占用過多,想找找原因 2018-08-09
使用 pprof
在程序代碼里加上:
package main
import _ "net/http/pprof"
import "net/http"
func main() {
go func() {
http.ListenAndServe("0.0.0.0:8086", nil)
}()
// 這里寫你的程序 or 代碼入口
}
然后編譯運行你的程序(最好是服務型的,就是一直運行那種,比如web程序,server程序)
打開 http://localhost:8086/debug/pprof 就是分析的數(shù)據(jù)
打開個終端,查看內(nèi)存分析,輸入如下:
go tool pprof http://localhost:8086/debug/pprof/heap

進入 pprof 模式
在 (pprof) 模式下,可以輸入 help 查看輸出的方式:

輸出方式
比如保存為圖片:
(pprof) png > /someDir
(pprof) 是命令提示符