开发程序过程中常常要分析程序内存占用情况,CPU使用情况等等。
golang自带这些分析工具
1. 收集数据
_ net/http/pprof
然后启动一个http服务
http.ListenAndServe("127.0.0.1:8080",nil)
Heap dump
go tool pprof http://localhost:6060/debug/pprof/heap
CPU dump
go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30
更多支持的分析可以在这里查看: https://golang.org/pkg/net/http/pprof/
2. 分析数据
收集完数据后,会得到一个文件,假设在
C:\Users\youruser\pprof\pprof.appname.samples.cpu.001.pb.gz
运行命令:
go tool pprof -http=:8080 C:\Users\youruser\pprof\pprof.appname.samples.cpu.001.pb.gz
然后打开浏览器访问http://localhost:8080查看火焰图