memory - GoLang - 有没有办法分析使用反射的代码的内存使用情况?

标签 memory reflection go profiling

我在项目中使用 gocraft/web 并尝试调试一些高内存使用情况。 gocraft/web 使用反射来调用处理程序。我已经设置了运行良好的 net/http/pprof 分析器,但是最大的内存块,以及我感兴趣的内存块,只显示 reflect.Value.call 作为函数。这不是很有帮助。

我如何绕过 gocraft/web 使用反射的事实并深入挖掘内存配置文件?

这是我看到的配置文件输出示例:

Example Profile

最佳答案

感谢@thwd 提交 http://golang.org/issue/11786对这个。这是 pprof 中的显示问题。所有数据都在那里,只是被隐藏了。您可以通过使用 -runtime 标志调用 pprof 来获取所需的数据。它还会显示您不需要的数据,但在 Go 1.6 发布之前,它应该是一个不错的解决方法。

关于memory - GoLang - 有没有办法分析使用反射的代码的内存使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419307/

相关文章:

c - 在两个进程之间共享内存(C、Windows)

c++ - 如何删除 vector 中的元素。 (删除无效)

python - 如何获取以编程方式声明的 Python 类的源代码?

Google Cloud Container Builder - 使用 vendor 的依赖项从 Go 源代码构建 Docker 容器

go - 如果编译器只是一个太旧的点发布,有没有办法让 Golang 编译失败?

java - 空闲应用程序的堆大小随时间变小的含义

c++ - 请问一台电脑 'know'是怎样分配的内存?

bash - 如何在本地运行 go 二进制文件作为 Jenkins 管道的最后阶段?

java - 如何将内存中生成的类转储到文件

java - 泛型 - 获取引用类型