如何识别Go程序CPU使用热点?
换句话说......
哪些工具/方法可用于分析Go程序CPU使用情况?
答案 0 :(得分: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的许多命令的帮助,请输入'help':
(pprof) help
我建议在浏览器中使用svg选项。它是交互式的,并且强调瓶颈路径以便于检测。使用'list'命令可以获得详细信息,该命令显示函数/方法的源代码以及每行数据。