Loading

proof分析

pprof引入方法
pprof引入代码有两种方式:

1、一种是项目中导入runtime/pprof,主要用来产生dump文件,然后再使用 Go Tool PProf 来分析这运行日志,此种方式在普通的单机程序未使用http网络服务上使用。

2、另一种方式是项目中导入net/http/pprof,net/http/pprof是对runtime/pprof的封装,如果当前程序已启用http服务,使用此种方式非常方便,以做到直接在web上看到当前 web 服务的状态,包括 CPU 占用情况和内存使用情况等

只需要在main 入口导入包          _ "net/http/pprof"

/debug/pprof/profile:访问这个链接会自动进行 cpu profiling,持续 30s,并生成一个文件供下载

/debug/pprof/block:goroutine阻塞事件的记录。默认每发生一次阻塞事件时取样一次

/debug/pprof/goroutines:活跃goroutine的信息的记录。仅在获取时取样一次。

/debug/pprof/heap: 堆内存分配情况的记录。默认每分配512k字节时取样一次。

/debug/pprof/mutex: 查看争用互斥锁的持有者。

/debug/pprof/threadcreate: 系统线程创建情况的记录。 仅在获取时取样一次

方式一:go tool pprof http://ip:port/url(debug/pprof/profile)等,使用命令行方式查看。

方式二:直接访问http://ip:port/url(debug/pprof/profile)等

 
posted @ 2023-02-08 18:15  Allfuture  阅读(29)  评论(0编辑  收藏  举报