go pprof
简介
Go pprof是官方工具,可以用来查找内存泄漏
安装方法:
1 | go install github.com/google/pprof@latest |
内存泄漏分析
在项目中穿插一点点代码
1 | import _ "net/http/pprof" |
1 | go func() { |
重新编译启动后即可打开web界面查看各项数据(web界面略)
可以先记录下初始的内存情况:
1 | curl -s http://ip:6060/debug/pprof/heap\?debug\=1 > base.heap |
运行一段时间后,再次记录当前内存情况:
1 | curl -s http://ip:6060/debug/pprof/heap\?debug\=1 > current.heap |
此时可以拿两份文进行对比
1 | go tool pprof --base base.heap current.heap |
在里面输入:
1 | top |
即可查看内存差异,效果:
1 | Type: inuse_space |
也可通过web服务查看:
1 | go tool pprof --http :9090 --base base.heap current.heap |
画面略
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment