我在项目中使用 gocraft/web
并尝试调试一些高内存使用情况。 gocraft/web
使用反射来调用处理程序。我已经设置了运行良好的 net/http/pprof
分析器,但是最大的内存块,以及我感兴趣的内存块,只显示 reflect.Value.call
作为函数。这不是很有帮助。
我如何绕过 gocraft/web
使用反射的事实并深入挖掘内存配置文件?
这是我看到的配置文件输出示例:
最佳答案
感谢@thwd 提交 http://golang.org/issue/11786对这个。这是 pprof 中的显示问题。所有数据都在那里,只是被隐藏了。您可以通过使用 -runtime
标志调用 pprof 来获取所需的数据。它还会显示您不需要的数据,但在 Go 1.6 发布之前,它应该是一个不错的解决方法。
关于memory - GoLang - 有没有办法分析使用反射的代码的内存使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419307/