记一次内存泄露(查看Golang程序的gorutine数量)

众所周知,为了获得正在运行的Golang程序的profile信息,需要增加如下代码到main函数中

import _ "net/http/pprof"

func main(){
  go func(){
  log.Error(http.ListenAndServe(":6060",nil))
}
}

以上代码会新起一个gorutine,用来获取golang程序的profile信息。

打开浏览器输入 http://localhost:6060/debug/pprof

会出现

/debug/pprof/
profiles:
0 block
135 goroutine
798 heap
0 mutex
35 threadcreate

其中第二项就是goroutine的数量,这个值一旦很大就预示着这个程序很大可能goroutine泄露。

你可能感兴趣的:(记一次内存泄露(查看Golang程序的gorutine数量))