pprof最全功能


本文摘自网络,作者,侵删。

支持什么使用模式

  • Report generation:报告生成
  • Interactive terminal use:交互式终端使用
  • Web interface:Web 界面

可以做什么

  • CPU Profiling:CPU 分析,按照一定的频率采集所监听的应用程序 CPU(含寄存器)的使用情况,可确定应用程序在主动消耗 CPU 周期时花费时间的位置
  • Memory Profiling:内存分析,在应用程序进行堆分配时记录堆栈跟踪,用于监视当前和历史内存使用情况,以及检查内存泄漏
  • Block Profiling:阻塞分析,记录 goroutine 阻塞等待同步(包括定时器通道)的位置
  • Mutex Profiling:互斥锁分析,报告互斥锁的竞争情况
  • Goroutine 查询

如何使用

通过web页面访问

对于本地程序,可以在代码中开放一个端口,提供http服务,用于展示pprof内容信息。http://127.0.0.1:6060/debug/pprof/

安装有go环境的机器

Cpu profiling:

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=60

内存分析:

go tool pprof -inuse_space http://9.144.229.99:11021/debug/pprof/heap

  • inuse_space:分析应用程序的常驻内存占用情况
  • alloc_objects:分析应用程序的内存临时分配情况

还可以通过curl的方式 将分析结果保存,并导入到有golang环境的地方进行分析,比如得到两个内存使用情况的文件,
通过命令 go tool pprof -http=:8080 -base heap.current heap.current1 可以对比


本文来自:简书

感谢作者:不经意丶执着Jason

查看原文:pprof最全功能

相关阅读 >>

gfast 工作流引擎 1.0 开源发布

手撸Golang 架构设计原则 接口隔离原则

多协程通道的应用---三协程通过通道实现abc按顺序输出100次

Golang1.4bootstrap无法直接在aarch64编译

深入理解Go的interface

Golang 空指针怎么检查

堆排序

Go - httpclient 常用操作

Golang 创建守护进程以及平滑重启

如何在linux上运行第一个Go程序

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...