我正在研究一个玩具去问题,以尝试了解有关去分析的更多信息。如果我正确阅读配置文件,我的程序将在runtime.morestack中花费43%的累积CPU时间。我的理解是,仅当goroutine的堆栈超出为其分配的数量时,才应调用runtime.morestack。据我所知,程序的任何部分都不应使用大量的堆栈空间。有什么方法可以查看我的堆栈有多大? (大小和每个堆栈帧上都有哪些变量?
我已经运行过pprof.Lookup("goroutine").WriteTo(f, 0)
,但似乎没有报告堆栈帧的大小或其内容。