【发布时间】:2016-03-08 15:26:08
【问题描述】:
当我使用 pprof 分析堆时,我得到以下信息:
但是,我不清楚如何解释该可视化。特别是:
“箭头旁边的记忆意思是_____,盒子里面的记忆意思是______。所以当一个盒子有多个箭头时,它意味着_____,当它有多个箭头时,它意味着_____”。
【问题讨论】:
-
哦,上下文是这个二进制文件的一个实例正在慢慢泄漏内存。我有这张快照,我会在几个小时内再抓一张,比较一下。除非事实证明泄漏不在堆中,否则我不确定下一步该做什么。
-
由于 Go 具有精确的 GC,“泄漏”几乎总是涉及没有返回的 goroutine。堆栈跟踪通常比堆配置文件更有用。
-
@JimB 虽然我监控了 goroutines 的数量(讽刺的是,使用的是慢慢消耗更多内存的东西),并且routines 的数量是稳定的。
标签: go pprof heap-profiling