2 回答
TA贡献1830条经验 获得超9个赞
您误用了go tool pprof,因为您应指定与生成的配置文件关联的可执行文件。
比较这个
$ go tool pprof --text cpuprofile.prof
680ms of 680ms total ( 100%)
flat flat% sum% cum cum%
680ms 100% 100% 680ms 100%
有了这个(注意main,这是产生的可执行文件cpuprofile.prof)
$ go tool pprof --text main cpuprofile.prof
680ms of 680ms total ( 100%)
flat flat% sum% cum cum%
350ms 51.47% 51.47% 610ms 89.71% main.renderMandelbrotUnified
130ms 19.12% 70.59% 130ms 19.12% math.Log
40ms 5.88% 76.47% 60ms 8.82% image.(*RGBA).Set
[cut]
这不是错误采样的问题:考虑到每秒执行大约 100 个样本,所以即使是 1.7 秒,您也应该得到一些样本(从这里):
启用 CPU 分析后,Go 程序每秒停止大约 100 次,并在当前执行的 goroutine 的堆栈上记录由程序计数器组成的样本
- 2 回答
- 0 关注
- 178 浏览
添加回答
举报