眾所周知,為了獲得正在運行的Golang程序的profile信息,需要增加如下代碼到main函數(shù)中
import _ "net/http/pprof"
func main(){
go func(){
log.Error(http.ListenAndServe(":6060",nil))
}
}
以上代碼會新起一個gorutine,用來獲取golang程序的profile信息。
打開瀏覽器輸入 http://localhost:6060/debug/pprof
會出現(xiàn)
/debug/pprof/
profiles:
0 block
135 goroutine
798 heap
0 mutex
35 threadcreate
其中第二項就是goroutine的數(shù)量,這個值一旦很大就預(yù)示著這個程序很大可能goroutine泄露。