网上已搜索golang pprof,资料不少,简明高效的一个没看到,这篇文章5步教你用会pprof获取cpu和内存prof。
第1步:安装易用的pprof
golang自带的prof包是runtime/pprof,这个是低级别的,需要你手动做一些设置等等周边工作,不利于我们快速上手,利用pprof帮助我们解决实际的问题。这里推荐davecheney封装的pprof,它可以1行代码,让你用上pprof,专心解决自己的代码问题,下载:
go get github.com/pkg/profile
第2步:安装graphviz
pprof生成的prof文件时二进制的,需要把这个二进制的文件转换为我们人类可读的,graphviz可以帮助我们把二进制的prof文件转换为图像。Mac安装:
brew install graphviz
其他系统安装参考这里Graphviz Download。
第3步:修改你的main函数
只需要为hi.go
增加这一行,defer profile.Start().Stop()
,程序运行时,默认就会记录cpu数据:
package main
import (
"fmt"
"github.com/pkg/profile"
)
func main() {
defer profile.Start