go tools pprof 快速使用笔记

目标:快速安装 + 成功使用上,主要是应对工作当中突然需要使用这个进行分析,并且之前没用过的情况

安装

1.首先安装go并配置环境

go version 判断是否成功

2.安装go tools

到github上下载go tools:[https://github.com/golang/tools].解压该文件夹,并将该文件夹重新命名为tools,其实这里面都是相应工具的源代码.

➣再在golang 的安装路径下的src文件夹下"/usr/local/bin/go/src" 新建gitbub.com文件夹和golang.org文件夹。
➣然后在golang.org文件夹下面新建文件夹x,接着将下载的go开发工具的文件夹(tools)移动到x里面。
➣然后跳出到文件夹src下,执行命令:

go get golang.org/x/tools/(具体的工具链文件夹名称) (go get golang.org/x/tools/ 应该亦可)
完成以上操作后就可以在golang安装路径的bin"/usr/local/bin/go/bin"里面看到可执行的工具链。什么godoc gunu 等开发环境工具。

go tool 回车既可以判断是否成功安装

3.安装图形工具graphviz
  • Windows:

官方下载安装包: [http://www.graphviz.org/download/]
下载Stable稳定版本(.msi) 注意选择添加环境变量 之后重启

  • Linux(例:Centos)

方式1).添加repo依赖

yum list available 'graphviz*'
yum install 'graphviz*'  --skip-broken
#备注:--skip-broken可选:跳过错误依赖,不加这个参数会提示安装包依赖错误,因为这里并不需要其它的安装包,所以跳过即可。

方式2).源码包编译安装 下载地址:[http://204.178.9.49/graphviz-rhel.repo]
./configure
make
make install

使用

离线

在有pb文件的情况下,用于分析当时的信息

1.命令窗口:go tool pprof pprof.**.pb.gz
此时 可以在控制台使用top等命令,但是相对不够直观,也无法清晰查看具体调用链
eg:go tool pprof .\pprof.server.alloc_objects.alloc_space.inuse_objects.inuse_space.001.pb.gz

2.网页可视化界面:go tool pprof -http=":8081" pprof.**.pb.gz
eg: go tool pprof -http=":8081" .\pprof.server.alloc_objects.alloc_space.inuse_objects.inuse_space.001.pb.gz
之后打开链接:[http://localhost:8081/ui/] ,即可查看

线上

保存实时的信息

内存 栈信息
go tool pprof http://host:pprof_port/debug/pprof/heap

CPU 信息 连续跟踪30S
go tool pprof http://host:pprof_port/debug/pprof/profile?seconds=30

选择view—peek
可以查看对应的方法代码路径 以及调用栈函数信息
这样就可以知道具体哪个方法占用的资源高

goroutine go协程信息
go tool pprof http://host:pprof_port/debug/pprof/goroutine
与这个命令相同:curl “host:pprof_port/debug/pprof/goroutine?debug=1” > 1.out

goroutine 调用的栈信息
curl “host:pprof_port/debug/pprof/goroutine?debug=2” > goroutine_stack.log

对于docker运行的
1.查看配置文件的pprof端口信息,以及所需要查看的docker ip
2.docker ps 查看本地端口和docker对应ip,端口的映射信息

参考:
https://blog.csdn.net/sunxianghuang/article/details/93869683
https://www.jianshu.com/p/01a333a29288

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值