Go(lang):如何使用 PPROF 堆配置文件来查找内存泄漏?

Posted

技术标签:

【中文标题】Go(lang):如何使用 PPROF 堆配置文件来查找内存泄漏?【英文标题】:Go(lang): How to use PPROF heap profile to find memory leaks? 【发布时间】:2013-09-29 17:01:36 【问题描述】:

我正在尝试使用 pprof 来验证内存泄漏。

任何人都可以解释如何阅读您在以下位置找到的堆配置文件: http://localhost:6060/debug/pprof/heap?debug=1

另外,在启动go tool pprof http://localhost:6060/debug/pprof/heap 之后输入web 命令会产生一个空的.svg 文件是否正常?

非常感谢

【问题讨论】:

【参考方案1】:

我可以帮助解决第二个问题。您必须向命令提供二进制文件的名称:

go tool pprof YOUR_COMPILED_BINARY http://localhost:6060/debug/pprof/heap

【讨论】:

【参考方案2】:

如何读取堆配置文件解释得很好in this intel blogpost:

每个条目开头的数字(“1:262144 [4:376832]”)代表当前活动对象的数量,活动对象占用的内存量,分配的总数和所有分配的内存量,分别。

【讨论】:

英特尔网站似乎并不关心cool URIs,所以这里有一个archive link。

以上是关于Go(lang):如何使用 PPROF 堆配置文件来查找内存泄漏?的主要内容,如果未能解决你的问题,请参考以下文章

Golang使用pprof和qcachegrind进行性能监控

`go tool pprof` 报告错误`unrecognized profile format`

Go命令教程12. go tool pprof

go tool pprof

EasyCVR平台安全扫描提示Go pprof调试信息泄露的解决办法

Go的pprof使用