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最全功能

相关阅读 >>

聊聊dubbo-Go-proxy的client

Go - 常用签名算法的基准测试

[系列] Go grpc hello world

Goland如何正确开启一个项目

一篇文章带你入门Go语言基础之并发

聊聊Gorm的locking

Go2 到底长啥样?

手撸Golang 结构型设计模式 组合模式

Golang 适合做web开发吗

[译]pkg.Go.dev的未来规划

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




打赏

取消

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

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

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

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

评论

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