贝利信息

如何在Golang中使用pprof进行性能分析_生成CPU和内存分析报告

日期:2025-12-27 00:00 / 作者:P粉602998670
Go中pprof性能分析需启动HTTP服务暴露接口,CPU分析持续采样30秒获取热点函数,内存分析区分allocs(累计分配)和inuse_space(当前占用),支持在线采集、离线分析及火焰图生成。

在 Go 中使用 pprof 做性能分析非常直接,核心是启动 HTTP 服务暴露分析接口,再用 go tool pprof 抓取并可视化数据。CPU 和内存报告的生成方式略有不同,关键在于采样方式和采集时机。

CPU 分析:抓取运行时热点函数

CPU 分析需持续采样一段时间(默认 30 秒),反映程序在 CPU 上实际花费时间最多的代码路径。前提是你的服务已启用 net/http/pprof

内存分析:区分 allocs 和 inuse

Go 内存报告分两类:allocs(累计分配总量,含已释放)和 inuse_space(当前堆上实际占用的内存)。排查泄漏优先看 inuse

离线分析:保存 profile 文件再分析

生产环境通常不允许直接连 pprof 接口,推荐先下载 profile 文件,本地分析更安全可控。

关键细节提醒

pprof 不是万能的,几个容易踩的坑要提前知道: