3

如何识别 Go 程序 CPU 使用热点?

换句话说...

哪些工具/方法可用于分析 Go 程序 CPU 使用情况?

4

1 回答 1

11

检查pprof包以编程方式获取分析数据。

另一种选择是自动分析包测试:

$ go help testflag
...
    -cpuprofile cpu.out
        Write a CPU profile to the specified file before exiting.

可以使用以下方法检查分析数据:

$ go tool pprof your-binary your-profiling-data

有关 pprof 工具的许多选项的帮助,请在不带参数的情况下运行它:

$ go tool pprof

有关 pprof 的许多命令的帮助,请输入“帮助”:

(pprof) help

我建议在浏览器中使用 svg 选项。它是交互式的,并且强调了瓶颈路径以便于检测。使用“list”命令可以获得详细信息,该命令显示函数/方法的源代码以及每行数据。

推荐阅读:分析 Go 程序

于 2013-06-19T11:22:20.633 回答